https://github.com/golang/go/wiki/Ubuntu
$ go get github.com/skycoin/hardware-wallet-goThis 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.goSee 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.
developis the default branch and will always have the latest code.masterwill 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
masterbranch has commits that are not indevelop(e.g. due to a hotfix applied tomaster), mergemasterintodevelop(and fix any build or test failures) - Switch to a new release branch named
release-X.Y.Zfor preparing the release. - Run
make buildto 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
masterbranch 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
protobsubmodule 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
developbranch and bumptiny-firmware/VERSIONandtiny-firmware/bootloader/VERSIONto nextdevversion number.
Follow hardware wallet firmware pre-release instructions by using library commands.
More information in the wiki