Start wallet server
Overview
The easiest and most common way of managing your funds on the Cardano blockchain is through a wallet. This guide is to show how to start cardano-wallet together with cardano-node .
Full node mode
Here we are going to start cardano-wallet in full node mode, meaning that we need to have also cardano-node running on the same machine. We can get binaries of cardano-wallet and compatible version of cardano-node from cardano wallet release page. Cardano-wallet archives published for each release, besides cardano-wallet itself, include all the relevant tools like cardano-node , cardano-cli , cardano-addresses or bech32 .
Alternatively one can use handy docker-compose to start wallet and the node on different networks:
> NETWORK=mainnet docker-compose up
> NETWORK=preprod docker-compose up
> NETWORK=preview docker-compose up
Pre-requisites
- Install cardano-wallet from cardano wallet release page.
- Install cardano-node from cardano wallet release page.
- Download up-to-date configuration files from Cardano Book.
Start cardano-wallet in full node mode
Configuration files for all Cardano networks can be found in Cardano Book.
- Start node:
> cardano-node run \
--config config.json \
--topology topology.json \
--database-path ./db \
--socket-path /path/to/node.socket
- Start wallet:
When starting a wallet instance that targets a testing environment such as preview or preprod , we need to provide a byron-genesis.json file to the wallet:
> cardano-wallet serve --port 8090 \
--node-socket /path/to/node.socket \
--testnet byron-genesis.json \
--database ./wallet-db \
--token-metadata-server https://metadata.cardano-testnet.iohkdev.io
In case of mainnet we simply replace --testnet byron-genesis.json with option --mainnet .
> cardano-wallet serve --port 8090 \
--node-socket /path/to/node.socket \
--mainnet \
--database ./wallet-db \
--token-metadata-server https://tokens.cardano.org
We use different URLs for mainnet and test networks with the --token-metadata-server option. These URLs point to Cardano Token Registry servers. See
assets
for more information.
That's it! We can basically start managing our wallets from this point onwards. See how-to-create-a-wallet and how-to-manage-wallets
However, in order to be able to make transactions, we still need to wait until cardano-node is synced fully with the Cardano blockchain. In case of mainnet it may take several hours, in case of testnet a bit less.
We can monitor this process using cardano-wallet's GET /network/information endpoint. Once the endpoint returns sync_progress status ready we'll know we are good to go:
> curl -X GET http://localhost:8090/v2/network/information | jq .sync_progress
{
"status": "ready"
}