Cryptocurrency wallet for trading for Bitcoin, Bitcoin cash, Ethereum, ERC20, Ripple
MIT License
Wallet functionalities to create raw transaction, to sing on unsigned transaction, to send signed transaction for BTC, BCH, ETH, XRP and so on.
Clean Code
, Clean Architecture
, Refactoring
This is explained for BTC/BCH for now. There are mainly 3 wallets separately and these wallets are expected to be installed in each different devices.
watch only wallet
.HD Wallet
Watch only wallet
HD Wallet
for own auth accountKeygen wallet
to generate multisig addresscmd
... app directories including main.go
keygen
... keygen walletsign
... sign walletwatch
... watch walletdata
address
... generated files by this CLIcerts
... for docker volume directory used by docker-compose.xrp.yml
config
... config toml filescontract
... generated token abi filedump
... BTC wallet file generated by api dumpwallet
command. See Makefile.fullpubkey
... generated files by this CLIgaiad
... genesis.json for cosmos gaiadkeystore
... keystore for Ethereumproto
... proto files for ripple gRPC communicationdocker
... docker resourcesdocs
... documentsimages
... for only docspkg
... go filesscripts
... shell scriptstemplates
... template file for sqlboiler Go ORMweb
erc20-token
... erc20 token contractripple-lib-server
... Ripple gRPC serverpkg
Directory StructureNote, explained only well modified packages
wallet/api/btcgrp
... Bitcoin RPC APIs. API References
wallet/api/ethgrp
... Ethereum RPC APIs. API References
wallet/api/xrpgrp
... Ripple gRPC client to communicate with ripple-lib-server
wallet/key
... address/seed generation logicwallet/service/btc
... Bitcoin business logicwallet/service/eth
... Ethereum business logicwallet/service/xrp
... Ripple business logicwallet/service/coldsrv
... Cold Wallet common business logicwallet/service/watchsrv
... Watch Wallet common business logicoverpaying fee issue
on Signet. It says 725% overpaying.quantity-tag
is used properly. e.g. when getting balance, which quantity-tag should be used, latest or pending.pkg
layout pattern, refer to the linked URLs for details.