Your toolkit for quick and convenient management of your Cardano software.
❤️ Powered by MDS pool. ❤️
Installation
git clone https://github.com/Fell-x27/cfd.git
cd ./cfd
chmod +x ./cardano.sh
Usage
./cardano.sh
Then follow the instructions :)
CFD will help you to:
- Automatically install, configure and run Cardano software;
- Monitor the synchronization of your node;
- Automatically ensure the connectivity of different components;
- Create/recover a mnemonic wallet and check its balance;
- Automate the creation and maintenance of a staking pool (including related transactions);
- Automatically track changes in configs between software versions and merge them, preserving user edits;
- Even launching
db-sync
will seem easy to you! - The built-in smart wrapper over
cardano-cli
will handle situations where a socket or magic needs to be inserted, no headaches! - Safely store your keys on the server thanks to GPG integration.
- Interactive - run
./cardano.sh
and select the required menu items - Command - call
./cardano.sh
immediately with the required items, for example:- Running a node in passive mode -
./cardano.sh preprod run-software node-relay
- Jumping straight to the software selection menu -
./cardano.sh preprod run-software
- Jumping to the mode selection in a given network -
./cardano.sh preprod
- Running a node in passive mode -
As you can see, you can even mix both approaches if it's more convenient for you.
That's enough to get acquainted with Cardano!
intro-2023-06-22_14.09.16.mp4
intro-2023-06-22_14.26.58.mp4
intro-2023-06-22_14.33.08.mp4
intro-2023-06-22_15.15.42.mp4
intro-2023-06-22_15.23.41.mp4
intro-2023-06-22_17.04.00.mp4
In the CFD directory: networks->%network_name%->config
are all the auxiliary files that may be useful to you;
In the CFD directory: networks->%network_name%->storage
In the CFD directory: networks->%network_name%->keys
, the same place where different keys for pool operation will be stored;
Mainly, for storing certificates;
cfd/networks->%network_name%->bin
Nothing, these folders only contain symlinks to real files, CFD will restore them automatically at the next launch;
Yes. All private keys are encrypted with the password you set up during the initial setup. So, you can even safely store your cold keys on the server as long as your password is strong enough.
This folder contains the software and current configuration files for different networks, please do not touch this folder without an extreme need, it is 100% service;
What to do if the software configuration structure has changed and I already had custom parameters written?
You don't need to do anything, CFD will compare the configs itself, describe the changes noticed to you, transfer your changes to the new version, merge the files, provide a report of the work done.
TEST-2023-06-18_17.25.19.mp4
- cardano-node (+ cardano-submit-api)
- cardano-db-sync
- cardano-wallet
- cardano-addresses
There is a conf.json file next to cardano.sh:
- open it;
- find the "networks" section
- find the software you need
- find the "version" section
- write the new version
If the software requires new additional files (for example, configs), add the following to the above:
- find the "general" section
- find the "software" section
- find the software you need
- find the "required-files" section
- write the required file
- then, in the section where you set the version, also find "required-files"
- write your file there according to the example of the existing ones: "filename": "instruction"
The instructions for obtaining a file can be of different types:
"d url"
- download a file via a direct link in the url.
For example: "d https://book.world.dev.cardano.org/environments/%/db-sync-config.json"
"dtgz url path strip"
- download an archive via theurl
link, extract the content frompath
, save it, reducing the path to the content to thestrip
level.
For example: "dtgz https://github.com/input-output-hk/cardano-db-sync/archive/refs/tags/#.tar.gz cardano-db-sync-#/schema/ 1"
"p text chmod"
- create a file with the text content and assign it chmod access rights.
For example: "p /var/run/postgresql:5432:%:: 0600"
Please note - the instructions contain the symbols %
and #
, these are placeholders for the network name
and software version
respectively. CFD will automatically insert the necessary data, you don't need to specify specific values there.
Yes, simply add them to conf.json, following the examples already there.
Yes, of course. This is a standard option, just use the pool-manager in the menu.
You can refresh them with a single command :)
CFD manages the entire infrastructure of the Medusa Wallet. So yes.
This is a CFD wrapper over cardano-cli
that performs all the same functions, but:
- It independently adds the path to the socket if needed;
- It independently adds network-magic if needed;
- In general, it's the same
cardano-cli
, but with enhanced comfort :)
TEST-2023-06-19_01.44.36.mp4
- Bash only;
- Automatic installation of software;
- Automatic configuration of software;
- Automated pool management;
- Automatic handling of configuration files;
- Automatic private keys management;
- Automatic KES keys management;
- Support for multiple networks at the same time;
- Convenient switching of software versions;
- Deployment of Cardano infrastructure "in one command";
- Compatibility with systemd and similar systems;
- No untrusted external dependencies;
- Lightweight;
❤️ Powered by MDS pool. ❤️