A basic reference Spacemesh Wallet designed to work together with a go-spacemesh full node. The wallet is designed to run from the command line.
The wallet is designed for developers who want to hack on the Spacemesh platform. For non-devs we recommend using Smapp
- the Spacemesh App. Smapp is available for all major desktop platforms and includes a wallet.
The wallet is a Spacemesh API client and implements basic wallet features via a REPL interface. You can create a new coin account, execute transactions, check account balance and view transactions.
The wallet has been upgraded to use Spacemesh standard wallets (encrypted)
See below on how to use with any network.
go get && go build
make
make build-win
make build-mac
make build-linux
make dockerbuild-go
Use -wallet_directory
to override the default of current working directory when opening and creating wallets.
Use -wallet
to specify a wallet to pre-open when starting cli-wallet. cli-wallet will look in current directory
unless -wallet_directory
has been specified.
You can use your wallet without running a full node by connecting it to a public Spacemesh api service for a Spacemesh
network. Use the -grpc-server
and -secure
flags connect to a remote Spacemesh api server. For example:
./cli_wallet_darwin_amd64 -server api-123.spacemesh.io:443 -secure
Note that communications with the server will be secure using https/tls but the wallet doesn't currently verify the server identity.
- Join a Spacemesh network by running go-spacemesh or Smapp on your computer.
- Build the wallet from this repository and run it. For example on OS X:
make build-mac
./cli_wallet_darwin_amd64
By default, the wallet attempts to connect to the api server provided by your locally running Spacemesh full node using the default node's grpc api port (localhost:9092). When you run your full node directly in terminal, you can configure which api services will be available to your wallet by your node by changing entries int he api section of your node's config file:
{
"api" : {
"grpc": "node, mesh, globalstate, transaction, smesher"
}
}