The following is how to get started with your own faucet with absolute basics as a jumping off point. The only code included is to monitor the wallet, and send a token currency using the configuration file. Make sure that before you try sending ADA to this wallet, that you change the test_config.json file to match your project details and token.
- Install OS
- Setup Swapfile
- Enable SSH (and do your security settings here)
- Install CNTools
- Run Node and let it synchronize with the block chain 100%
- Install cardano-wallet
- Install Visual Studio Code
- Create Wallet with external source (Nami/Eternl/Daedalus/etc.) and record your mnemonic phrases as well as your spending passphrase
- Run cardano-wallet service and execute the modified curl command to import the wallet using the mnemonics and passphrase previously
- Visit the cardano-wallet list endpoint and wait for the wallet to synchronize (The json object should have state.status == "ready")
https://arcolinux.com/how-to-increase-the-size-of-your-swapfile/
https://linuxize.com/post/how-to-enable-ssh-on-ubuntu-20-04/
https://cardano-community.github.io/guild-operators/basics/
https://developers.cardano.org/docs/get-started/installing-cardano-wallet/#macos--linux
https://linuxize.com/post/how-to-install-visual-studio-code-on-ubuntu-20-04/#installing-visual-studio-code-as-a-snap-package
First Create using any wallet of your choice, in my case I used Nami. Write down the mnemonic phrases, and edit the command below to run in terminal when the cardano-wallet is running.
curl -X POST http://localhost:8190/v2/wallets -d '{"mnemonic_sentence":["your","phrases","here"], "passphrase":"somepassphrase", "name":"My Test Wallet", "address_pool_gap":20}' -H "Content-Type: application/json"
http://localhost:8190/v2/wallets
Is the Wallets List endpoint. More endpoints are available at Cardano Wallet Backend API Documentation
Once it has done 100% synchronizing, then you should be good to start coding the faucet, as at this point everything is up-to-date and ready to monitor the wallet for transactions.