Backend HTTP-JSON API for working with the most famous cryptocurrencies: Bitcoin, Ethereum, Zcash, TRON, Monero and Dash.
Aggregator of the most famous cryptocurrencies written in PHP Phalcon, Python and JavaScript, persistant storage is MySQL. See API documentation.
- Crypto P2P exchange
- Online marketplace
- Banking
- Personal purposes like cold wallet
For all curriencies:
- Create wallets
- Check balance
- Generate new address
- Check node status
- Network fee calculation
- Send cryptocurrency
- Get history of transactions
- Wallet recover with progress status
- Get transaction info
- Node auto restart on fail or boot
Bitcoin special features:
- Multiple wallets import by private key or mnemonic
- Cron task for checking imported wallets and sending all bitcoins to one wallet from them
Zcash special features:
- Support for transparent addresses (t-address)
- Support for shielded addresses (z-address)
Ethereum special feature:
- Support for ERC20 USDT tokens
Tron special feature:
- Support for TRC20 USDT tokens
- Remove external API dependency for Tron and Ethereum networks
- Add new currencies
- Linux server
- At least 2 TB SSD
- At least 16 GB RAM
- Phalcon framework
- MySQL
- Bitcoind
- Geth
- Prysm
- Zcashd
- Monerod
- Dashd
- etherscan.io API token
- Zcash-mini
- Bitcoin Explorer
- hd-wallet-derive
- Tron API key
npm requirments:
- tron-wallet-hd
- bip39
- ethereum-hdwallet
- readline
- ethereumjs-tx
- web3
- tronweb
- trongrid
python requirments:
- base58
- requests
- json
- sys
- statistics
- collections
The installation process may seem quite complicated, but you only need to do it once 😁
Install all requirments.
From command line run:
git clone https://github.com/SamLatsin/crypto-nodes.git
cd /var/www/
mv crypto-nodes/src/ /var/www/crypto-rest-api/
Clone hd-wallet-derive
and place it to /var/www/crypto-rest-api/app/
:
git clone https://github.com/dan-da/hd-wallet-derive.git
mv hd-wallet-derive /var/www/crypto-rest-api/app/hd-wallet-generator
Import crypto-nodes/db snapshot/main.sql
to your Database.
Add all lines from crypto-nodes/configs/crontab.txt
to your crontab.
After installing all nodes put corresponding configs to them from crypto-nodes/configs/nodes configs/
. Your file structure should be like this:
File structure with blockchain sizes at 10 October 2022
/root/
├── disk1
│ └── xmr (147GB)
├── disk2
│ ├── dash (146GB)
│ ├── tron (using API)
│ └── zec (80GB)
├── disk3
│ └── eth (consensus - 114GB, blockhain - 1.3TB)
└── disk4
└── btc (463GB)
Edit file /var/www/crypto-rest-api/app/app.php
and put your Database credentials.
Edit file /var/www/crypto-rest-api/app/route/load.php
and put your API_TRON_TOKEN
, API_ETHER_SCAN
and generate tokens for all currencies.
After all steps done you can check if API works, check API documentation.
Crypto-nodes is open-sourced software licensed under the MIT license