Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/cardano-foundation/cardano-wallet

HTTP server & command-line for managing UTxOs and HD wallets in Cardano.
https://github.com/cardano-foundation/cardano-wallet

Last synced: 5 days ago
JSON representation

HTTP server & command-line for managing UTxOs and HD wallets in Cardano.

Lists

README

        


Cardano Wallet



































## Overview

Cardano Wallet is software that helps you manage your Ada. You can use it to send and receive payments on the [Cardano blockchain](https://www.cardano.org).

This project provides an HTTP Application Programming Interface (API)
and command-line interface (CLI) for working with your wallet.

It can be used as a component of a frontend such as
[Daedalus](https://daedaluswallet.io), which provides a friendly user
interface for wallets. Most users who would like to use Cardano should
start with Daedalus.

## Quickstart

The `cardano-wallet` executable is an HTTP server that manages your wallet(s).
Here is one way to start both node and wallet using Docker and running the nightly version of the wallet.

```bash

THE FOLLOWING EXPOSES THE WALLET PORT. DO NOT USE IT WITH mainnet !

Prerequisites:
- 100GB of disk space
- 13GB of RAM

Copy this script to a file, e.g. `start.sh` and make it executable with `chmod +x start.sh`

```bash
#! /bin/bash

set -euo pipefail

# set the network, mainnet or preprod or sanchonet
export NETWORK=preprod

# set a directory for the node-db
export NODE_DB=`pwd`/node-db
# set a directory for the wallet-db
export WALLET_DB=`pwd`/wallet-db

# set the node tag and wallet tag to compatible versions
export NODE_TAG=8.9.3
export WALLET_TAG=2024.5.5

# set a port for the wallet server
export WALLET_PORT=8090

if [ "$(ls -A "${NODE_DB}")" ]
then
echo "Node state is present, not downloading the snapshot."
else
if [ $NETWORK == "mainnet" ]
then
# download the node-db snapshot, or wait for the node to sync for a long time
curl -o - https://downloads.csnapshots.io/mainnet/$(curl -s https://downloads.csnapshots.io/mainnet/mainnet-db-snapshot.json| jq -r .[].file_name ) | lz4 -c -d - | tar -x -C $NODE_DB
mv $NODE_DB/db/* $NODE_DB/
rm -rf $NODE_DB/db
elif [ $NETWORK == "preprod" ]
then
curl -o - https://downloads.csnapshots.io/testnet/$(curl -s https://downloads.csnapshots.io/testnet/testnet-db-snapshot.json| jq -r .[].file_name ) | lz4 -c -d - | tar -x -C $NODE_DB
mv $NODE_DB/db/* $NODE_DB/
rm -rf $NODE_DB/db
elif [ $NETWORK == "sanchonet" ]
then echo "no cache for sancho";
else
echo "NETWORK must be mainnet or preprod or sanchonet"
exit 1
fi
fi

# start the services
docker-compose up
```

Fantastic! server is up-and-running, waiting for HTTP requests on `localhost:8090`

```
curl http://localhost:8090/v2/network/information
```

or to be accessed via CLI, e.g.:

```
docker run --network host --rm cardanofoundation/cardano-wallet network information
```

Icarus UI will be available at

```
http://localhost:4444
```

To stop the services, press `Ctrl+C`.

See also [Docker](https://cardano-foundation.github.io/cardano-wallet/user-guide/installation/use-docker.html) for more information about using docker.

NixOS users can also use the [NixOS service](https://cardano-foundation.github.io/cardano-wallet/user-guide/installation/use-nixos.html).

## Obtaining `cardano-wallet`

### Executables (Linux / Windows / Mac OS)

We provide executables as part of our [releases](https://github.com/cardano-foundation/cardano-wallet/releases). Please also see the installation instructions highlighted in the release notes.

### Building from source

See [Building](https://cardano-foundation.github.io/cardano-wallet/contributor/what/building.html)

### Testing

See [Testing](https://cardano-foundation.github.io/cardano-wallet/contributor/how/testing.html)

## History

The `cardano-wallet` repository was introduced during the [Shelley phase](https://roadmap.cardano.org/) of the Cardano blockchain.
Previously, during the Byron phase, the wallet was part of the [cardano-sl](https://github.com/input-output-hk/cardano-sl) repository. (This is useful to know — sometimes the ghosts of the past come back to haunt us in the form of obscure bugs.)

## Documentation

| Link | Audience |
| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------ |
| [Documentation](https://cardano-foundation.github.io/cardano-wallet/) | |
| • [User Manual](https://cardano-foundation.github.io/cardano-wallet/user) | Users of Cardano Wallet |
|   ⤷ [CLI Manual](https://cardano-foundation.github.io/cardano-wallet/user/cli) | Users of the Cardano Wallet API |
|   ⤷ [API Documentation](https://cardano-foundation.github.io/cardano-wallet/api/edge) | Users of the Cardano Wallet API |
| • [Design Documents](https://cardano-foundation.github.io/cardano-wallet/design) | Anyone interested in wallet design and specifications |
|   ⤷ [Specifications](https://cardano-foundation.github.io/cardano-wallet/design/specs) | Anyone interested in wallet design and specifications |
| • [Contributor Manual](https://cardano-foundation.github.io/cardano-wallet/contributor) | Anyone interested in the project and our development process |
| [Adrestia Documentation](https://input-output-hk.github.io/adrestia/) | Anyone interested in the project and our development process |