Skycoin is a next-generation cryptocurrency.
Skycoin improves on Bitcoin in too many ways to be addressed here.
Skycoin is small part of OP Redecentralize and OP Darknet Plan.
For detailed installation instructions, see Installing Skycoin.
Install homebrew, if you don't have it yet.
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Install the latest version of golang
brew install go
Setup $GOPATH variable, add it to ~/.bash_profile (or bashrc). After editing, open a new tab
Add to bashrc
or bash_profile
export GOPATH=/Users/<username>/go
export PATH=$PATH:$GOPATH/bin
Install Mercurial and Bazaar
brew install mercurial bzr
Fetch the latest code of skycoin from the github repository
go get github.com/skycoin/skycoin
Change your current directory to $GOPATH/src/github.com/skycoin/skycoin
cd $GOPATH/src/github.com/skycoin/skycoin
Run Wallet
./run.sh
OR
go run ./cmd/skycoin/skycoin.go
For Options
go run ./cmd/skycoin/skycoin.go --help
sudo apt-get install curl git mercurial make binutils gcc bzr bison libgmp3-dev screen -y
use gvm or download binary and follow instructions.
In China, use --source=https://github.com/golang/go
to bypass firewall when fetching golang source.
sudo apt-get install bison curl git mercurial make binutils bison gcc build-essential
bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
source $HOME/.gvm/scripts/gvm
gvm install go1.4 --source=https://github.com/golang/go
gvm use go1.4
gvm install go1.8
gvm use go1.8 --default
If you open up new terminal and the go command is not found then add this to .bashrc . GVM should add this automatically.
[[ -s "$HOME/.gvm/scripts/gvm" ]] && source "$HOME/.gvm/scripts/gvm"
gvm use go1.8 >/dev/null
The skycoin repo must be in $GOPATH, under src/github.com/skycoin
. Otherwise golang programs cannot import the libraries.
Pull skycoin repo into the gopath, note: puts the skycoin folder in $GOPATH/src/github.com/skycoin/skycoin
go get -v github.com/skycoin/skycoin/...
# create symlink of the repo
cd $HOME
ln -s $GOPATH/src/github.com/skycoin/skycoin skycoin
Dependencies are managed with dep.
To install 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 ensure
.
Use 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.
Examples:
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
cd skycoin
screen
go run ./cmd/skycoin/skycoin.go
then ctrl+A then D to exit screen screen -x to reattach screen
Use gvm package set, so repo does not need to be symlinked. Does this have a default option?
gvm pkgset create skycoin
gvm pkgset use skycoin
git clone https://github.com/skycoin/skycoin
cd skycoin
go install
Install Gox:
go get github.com/mitchellh/gox
Compile:
gox --help
gox [options] cmd/skycoin/
See the api details here.
https://github.com/skycoin/skycoin-explorer
- /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
go run ./cmd/mesh/*.go -config=cmd/mesh/sample/config_a.json
go run ./cmd/mesh/*.go -config=cmd/mesh/sample/config_b.json
- one way latency
- two way latency (append), latency between packet and ack
- service handler (ability to append services to meshnet)
- uploading bandwidth, latency measurements over time
- end-to-end route instrumentation
cd src/gui/static
npm install
gulp build
cd /src/gui/static
npm install
gulp dist
See the doc of command line interface here.
See the doc of webrpc here.
We mainly has two branches: master and develop. The develop is the default branch as you can see, all latest code will be updated here.
The master branch will always be in run ready state and will only be updated when we need to release a new version.