Solar Bankers Coin
Table of Contents
- API Documentation
- Contributing a node to the network
Go 1.9+ Installation and Setup
make directory like `$GOPATH/src/github.com/skycoin/skycoin`
You can clone the repo directly with
git clone https://github.com/SolarBankers/Solar-Bankers-Coin,
but it must be cloned to this path:
Run Solar-Bankers-Coin from the command line
cd $GOPATH/src/github.com/skycoin/skycoin make run
Show Solar-Bankers-Coin node options
cd $GOPATH/src/github.com/skycoin/skycoin make run-help
Run Solar-Bankers-Coin with options
cd $GOPATH/src/github.com/skycoin/skycoin make ARGS="--launch-browser=false" run
$ docker volume create skycoin-data $ docker volume create skycoin-wallet $ docker run -ti --rm \ -v skycoin-data:/data \ -v skycoin-wallet:/wallet \ -p 6000:6000 \ -p 6420:6420 \ -p 6430:6430 \ skycoin/skycoin
Access the dashboard: http://localhost:6420.
Access the API: http://localhost:6420/version.
Wallet REST API
JSON-RPC 2.0 API
Skycoin command line interface
Contributing a node to the network
Add your node's ip:port to the peers.txt file. This file will be periodically uploaded to https://downloads.skycoin.net/blockchain/peers.txt and used to seed client with peers.
We have two branches:
develop is the default branch and will have the latest code.
master will always be equal to the current stable release on the website, and should correspond with the latest release tag.
/src/cipher- cryptography library
/src/coin- the blockchain
/src/daemon- networking and wire protocol
/src/visor- the top level, client
/src/gui- the web wallet and json client interface
/src/wallet- the private key storage library
/src/api/webrpc- JSON-RPC 2.0 API
/src/api/cli- CLI library
.go source files should be formatted
goimports. You can do this with:
Dependencies are managed with dep.
go get -u github.com/golang/dep
dep vendors all dependencies into the repo.
If you change the dependencies, you should update them as needed with
dep help for instructions on vendoring a specific version of a dependency, or updating them.
After adding a new dependency (with
dep ensure), run
dep prune to remove any unnecessary subpackages from the dependency.
When updating or initializing,
dep will find the latest version of a dependency that will compile.
Initialize all dependencies:
dep init dep prune
Update all dependencies:
dep ensure -update -v dep prune
Add a single dependency (latest version):
dep ensure github.com/foo/bar dep prune
Add a single dependency (more specific version), or downgrade an existing dependency:
dep ensure github.com/foo/bar@tag dep prune
Wallet GUI Development
The compiled wallet source should be checked in to the repo, so that others do not need to install node to run the software.
Instructions for doing this:
- If the
masterbranch has commits that are not in
develop(e.g. due to a hotfix applied to
- Compile the
src/gui/dist/to make sure that it is up to date (see Wallet GUI Development README)
- Update all version strings in the repo (grep for them) to the new version
CHANGELOG.md: move the "unreleased" changes to the version and add the date
- Merge these changes to
- On the
developbranch, make sure that the client runs properly from the command line (
- Build the releases and make sure that the Electron client runs properly on Windows, Linux and macOS. Delete these releases when done.
- Make a PR merging
- Review the PR and merge it
- Tag the master branch with the version number. Version tags start with
- Make sure that the client runs properly from the
- Create the release builds from the
masterbranch (see Create Release builds)
If there are problems discovered after merging to master, start over, and increment the 3rd version number.
v0.20.1, for minor fixes.