Nebula
Nebula is unified wallet interface for Cosmos. This library is designed to support any app-chain within the Cosmos ecosystem by relying on module interfaces to handle message implementations. Signing messages is done offline by delivering a payload to your HSM or key management software. Alternatively, it is possible to use in-memory key management but it is highly unadvisable.
This software makes it easy for custodians, exchanges, and engineers to build wallet applications on top of the Cosmos network.
Background
Each app chain in the Cosmos ecosystem is defined by a series of modules. Modules implement the query and message capabilitiy of the chain. Messages are composed into tranasctions and finalized by each new block to the chain.
Network Support
Network | Repository | Documentation |
---|---|---|
Cosmos Hub (ATOM) | Cosmos | - |
Umee | Umee | Umee |
Usage
$ go install -v ./...
$ nebula help
Nebula is both a library for managing wallet workflows as well as a CLI.
Documentation for usage is available in /doc
:
CLI
NAME:
nebula - Gateway to the Cosmos.
USAGE:
nebula [global options] command [command options] [arguments...]
COMMANDS:
help, h Shows a list of commands or help for one command
data:
balance <address>
account_info <address>
bestblockheight
blockbyhash <hash>
blockbyheight <height>
transaction <txid>
umee:
lend_asset Create a lend asset transaction.
withdraw_asset Create a withdraw asset transaction.
set_collateral Create a set collateral transaction.
repay_asset Create a repay asset transaction.
wallet:
account Create a new account.
multisig_account Create a new multisig account.
bank_send Create a Bank module MsgSend message.
new_tx Combines a slice of messages into a new transaction.
sign_tx Sign a serialized transaction.
partial_sign_tx Sign a serialized transaction using a Ledger device.
combine_signatures Combines signatures for a multisignature account and finalizes a transaction.
broadcast_tx Broadcast a transaction
GLOBAL OPTIONS:
--rpc value the host:port endpoint of the Tendermint RPC server (e.g. 127.0.0.1:26657)
--grpc value the host:port endpoint of the gRPC sever (e.g. 127.0.0.1:9090)
--network value network parameters
--help, -h show help
Testing
Starport is the dedicated tool for integration and e2e testing.
Starport allows local development with specific accounts funded at gensis. Make sure are running umee v0.3.0
starport chain serve -c ./config.yml
Below are links to supported networks and their Starport configurations: