https://github.com/golang/go/wiki/Ubuntu
$ go get github.com/skycoin/hardware-wallet-go
This project uses dep dependancy manager.
Don't modify anything under vendor/ directory without using dep commands.
Download dependencies using command:
$ make dep
$ git submodule init
$ git submodule update
$ make vendor_proto
$ go run cmd/cli/cli.go
See also CLI README for information about the Command Line Interface.
Code added in this repository should comply to development guidelines documented in Skycoin wiki.
The project has two branches: master
and develop
.
develop
is the default branch and will always 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.
This go client library follows the versioning rules for SkyWallet client libraries .
Library test suite can be run by running the following command
make test
If a physical SkyWallet device is connected then the test suite will exchange test messages with it. Likewise, the emulator will reply to test messages if executed in advance as follows.
git clone https://github.com/skycoin/hardware-wallet /some/path/to/hardware-wallet
make clean -C /some/path/to/hardware-wallet && make -C /some/path/to/hardware-wallet run-emulator
If neither the emulator nor a physical device are connected then tests will be skipped silently.
- If the
master
branch has commits that are not indevelop
(e.g. due to a hotfix applied tomaster
), mergemaster
intodevelop
(and fix any build or test failures) - Switch to a new release branch named
release-X.Y.Z
for preparing the release. - Run
make build
to make sure that the code base is up to date - Update
CHANGELOG.md
: move the "unreleased" changes to the version and add the date. - Follow the steps in pre-release testing
- Make a PR merging the release branch into
master
- Review the PR and merge it
- Tag the
master
branch with the version number. Version tags start withv
, e.g.v0.20.0
. Sign the tag. If you have your GPG key in github, creating a release on the Github website will automatically tag the release. It can be tagged from the command line withgit tag -as v0.20.0 $COMMIT_ID
, but Github will not recognize it as a "release". - Tag the changeset of the
protob
submodule checkout with the same version number as above. - Release builds are created and uploaded by travis. To do it manually, checkout the master branch and follow the create release builds instructions.
- Checkout
develop
branch and bumptiny-firmware/VERSION
andtiny-firmware/bootloader/VERSION
to nextdev
version number.
Follow hardware wallet firmware pre-release instructions by using library commands.
More information in the wiki