Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- counterparty-btcd
- =================
- Use `counterparty-server` and `counterparty-client` on Arch Linux.
- Steps
- -----
- 1. [Install](#install)
- 2. [Sync](#sync)
- 3. [Use](#use)
- Install
- -------
- #### btcsuite
- Install btcd and btcwallet:
- ```
- curl -O https://aur.archlinux.org/packages/bt/btcd/btcd.tar.gz
- tar xvzf btcd.tar.gz
- cd btcd
- makepkg -Acsi --pkg btcd,btcwallet
- ```
- #### counterparty
- Install counterparty-cli (provides client and server):
- ```
- pacaur -S counterparty-cli
- ```
- Sync
- ----
- #### btcsuite
- Make data directories:
- ```
- mkdir ~/.btc{ctl,d,wallet}
- chmod 700 ~/.btc{ctl,d,wallet}
- # disable Btrfs CoW: https://github.com/atweiden/dotfiles/blob/master/_functions.d/chattrify.sh
- for _dir in btcctl btcd btcwallet; do
- chattrify "$_dir" "700" "linuxusername" "linuxusergroup"
- done
- ```
- Edit btcd config files for mainnet:
- ```
- cat > ~/.btcd/btcd.conf << 'EOF'
- [Application Options]
- rpcuser=btcd_mainnet
- rpcpass=btcd_mainnet_secret
- notls=1
- addrindex=1
- EOF
- ```
- Edit btcd config files for testnet:
- ```
- cat > ~/.btcd/btcd.testnet.conf << 'EOF'
- [Application Options]
- rpcuser=btcd_testnet
- rpcpass=btcd_testnet_secret
- notls=1
- testnet=1
- addrindex=1
- EOF
- ```
- Edit btcctl config files for mainnet:
- ```
- cat > ~/.btcctl/btcctl.conf << 'EOF'
- [Application Options]
- rpcuser=btcd_mainnet
- rpcpass=btcd_mainnet_secret
- notls=1
- EOF
- ```
- ```
- cat > ~/.btcctl/wallet.conf << 'EOF'
- [Application Options]
- rpcuser=btcw_mainnet
- rpcpass=btcw_mainnet_secret
- notls=1
- EOF
- ```
- Edit btcctl config files for testnet:
- ```
- cat > ~/.btcctl/btcctl.testnet.conf << 'EOF'
- [Application Options]
- rpcuser=btcd_testnet
- rpcpass=btcd_testnet_secret
- notls=1
- testnet=1
- EOF
- ```
- ```
- cat > ~/.btcctl/wallet.testnet.conf << 'EOF'
- [Application Options]
- rpcuser=btcw_testnet
- rpcpass=btcw_testnet_secret
- notls=1
- testnet=1
- EOF
- ```
- Sync btcd:
- ```
- # mainnet
- btcd &
- btcctl getmininginfo
- # testnet
- btcd -C ~/.btcd/btcd.testnet.conf &
- btcctl -C ~/.btcctl/btcctl.testnet.conf getmininginfo
- ```
- Edit btcwallet config files:
- ```
- cat > ~/.btcwallet/btcwallet.conf << 'EOF'
- [Application Options]
- mainnet=1
- username=btcw_mainnet
- password=btcw_mainnet_secret
- btcdusername=btcd_mainnet
- btcdpassword=btcd_mainnet_secret
- noclienttls=1
- noservertls=1
- EOF
- ```
- Edit btcwallet config files for testnet:
- ```
- cat > ~/.btcwallet/btcwallet.testnet.conf << 'EOF'
- [Application Options]
- username=btcw_testnet
- password=btcw_testnet_secret
- btcdusername=btcd_testnet
- btcdpassword=btcd_testnet_secret
- noclienttls=1
- noservertls=1
- EOF
- ```
- Sync btcwallet:
- ```
- # for tls
- cp ~/.btcd/rpc.cert ~/.btcwallet/btcd.cert
- # mainnet
- btcwallet --create
- btcwallet &
- # testnet
- btcwallet -C ~/.btcwallet/btcwallet.testnet.conf --create
- btcwallet -C ~/.btcwallet/btcwallet.testnet.conf &
- ```
- #### counterparty
- Make data directory:
- ```
- mkdir -p ~/.counterparty ~/.config/counterparty
- chmod 700 ~/.counterparty ~/.config/counterparty
- # disable Btrfs CoW: https://github.com/atweiden/dotfiles/blob/master/_functions.d/chattrify.sh
- chattrify "~/.counterparty" "700" "linuxusername" "linuxusergroup"
- ```
- Fetch Counterparty bootstrap database:
- ```
- cd ~/.counterparty
- # mainnet
- curl -O https://s3.amazonaws.com/counterparty-bootstrap/counterparty-db.latest.tar.gz
- tar xvzf counterparty-db.latest.tar.gz
- sha256sum -c checksums.txt
- # testnet
- curl -O https://s3.amazonaws.com/counterparty-bootstrap/counterparty-db-testnet.latest.tar.gz
- tar xvzf counterparty-db-testnet.latest.tar.gz
- sha256sum -c checksums.txt
- ```
- Edit counterparty-server config files for mainnet:
- ```
- cat > ~/.config/counterparty/server.conf << 'EOF'
- [Default]
- backend-name = btcd
- backend-connect = localhost
- backend-port = 8334
- backend-user = btcd_mainnet
- backend-password = btcd_mainnet_secret
- backend-ssl = 0
- backend-ssl-verify = 0
- backend-poll-interval = 2.00000000
- rpc-host = localhost
- rpc-user = counterparty_server_mainnet
- rpc-password = counterparty_server_mainnet_secret
- rpc-allow-cors = 1
- verbose = 1
- testcoin = 0
- force = 0
- database-file = /home/linuxusername/.counterparty/counterparty.db
- broadcast-tx-mainnet = btcd
- EOF
- ```
- Edit counterparty-server config files for testnet:
- ```
- cat > ~/.config/counterparty/server.testnet.conf << 'EOF'
- [Default]
- testnet = 1
- backend-name = btcd
- backend-connect = localhost
- backend-port = 18334
- backend-user = btcd_testnet
- backend-password = btcd_testnet_secret
- backend-ssl = 0
- backend-ssl-verify = 0
- backend-poll-interval = 2.00000000
- rpc-host = localhost
- rpc-user = counterparty_server_testnet
- rpc-password = counterparty_server_testnet_secret
- rpc-allow-cors = 1
- verbose = 1
- testcoin = 0
- force = 0
- database-file = /home/linuxusername/.counterparty/counterparty.testnet.db
- broadcast-tx-mainnet = btcd
- EOF
- ```
- Sync counterparty-server mainnet:
- ```
- counterparty-server start &
- ```
- Sync counterparty-server testnet:
- ```
- counterparty-server --config-file ~/.config/counterparty/server.testnet.conf start &
- ```
- Edit counterparty-client config files for mainnet:
- ```
- cat > ~/.config/counterparty/client.conf << 'EOF'
- [Default]
- counterparty-rpc-connect = localhost
- counterparty-rpc-user = counterparty_server_mainnet
- counterparty-rpc-password = counterparty_server_mainnet_secret
- counterparty-rpc-ssl = 0
- counterparty-rpc-ssl-verify = 0
- wallet-name = btcwallet
- wallet-connect = localhost
- wallet-port = 8332
- wallet-user = btcw_mainnet
- wallet-password = btcw_mainnet_secret
- wallet-ssl = 0
- wallet-ssl-verify = 0
- testcoin = 0
- unconfirmed = 0
- encoding = auto
- fee-per-kb = 0.00010000
- regular-dust-size = 0.00005430
- multisig-dust-size = 0.00007800
- op-return-value = 0.00000000
- unsigned = 0
- EOF
- ```
- Edit counterparty-client config files for testnet:
- ```
- cat > ~/.config/counterparty/client.testnet.conf << 'EOF'
- [Default]
- testnet = 1
- counterparty-rpc-connect = localhost
- counterparty-rpc-user = counterparty_server_testnet
- counterparty-rpc-password = counterparty_server_testnet_secret
- counterparty-rpc-ssl = 0
- counterparty-rpc-ssl-verify = 0
- wallet-name = btcwallet
- wallet-connect = localhost
- wallet-port = 18332
- wallet-user = btcw_testnet
- wallet-password = btcw_testnet_secret
- wallet-ssl = 0
- wallet-ssl-verify = 0
- testcoin = 0
- unconfirmed = 0
- encoding = auto
- fee-per-kb = 0.00010000
- regular-dust-size = 0.00005430
- multisig-dust-size = 0.00007800
- op-return-value = 0.00000000
- unsigned = 0
- EOF
- ```
- Use
- ---
- #### Mainnet
- ```
- counterparty-client getinfo
- [INFO] Running v1.1.1 of counterparty-client.
- {
- "bitcoin_block_count": 353140,
- "db_caught_up": true,
- "last_block": {
- "block_hash": "00000000000000000ed0820ebe35751ce42b2732ab5974bf4d6cf2b4810f56d2",
- "block_index": 353140,
- "block_time": 1429650140,
- "difficulty": 47610564513.47126,
- "ledger_hash": "ccffe233a77f45f84a2d60ab91d19e081362b50c1323a9ca98cd3fefbb68f4c7",
- "previous_block_hash": "000000000000000007842345b35aed2a887f6b16c6e9c0657d0841408dac7c47",
- "txlist_hash": "3bf97aca0eee22dc32d114a8207dc6f8f60381caef3a73b06c0868eb88d37af2"
- },
- "last_message_index": 781458,
- "running_testcoin": false,
- "running_testnet": false,
- "version_major": 9,
- "version_minor": 51,
- "version_revision": 1
- }
- ```
- #### Testnet
- ```
- counterparty-client --config-file ~/.config/counterparty/client.testnet.conf getinfo
- [INFO] Running v1.1.1 of counterparty-client.
- {
- "bitcoin_block_count": 350124,
- "db_caught_up": true,
- "last_block": {
- "block_hash": "00000000000029aff55599bf333bf984a67819c1f1befac9364f0297d226e572",
- "block_index": 350124,
- "block_time": 1429651059,
- "difficulty": 262144,
- "ledger_hash": "7e7d67bce2c710d9b818be10f324ee9aca88ef8bac6023dca604c5154e4aac69",
- "previous_block_hash": "000000004a1cbd32f7990b21affb00dc156ddd0ea1ec9b6ec3e69a16a8c7fdf1",
- "txlist_hash": "88bde4213e6c0b1b50c2d0ec57858813edfa9fa4254e8ac4959da3f916189e90"
- },
- "last_message_index": 9553,
- "running_testcoin": false,
- "running_testnet": true,
- "version_major": 9,
- "version_minor": 51,
- "version_revision": 1
- }
- ```
- #### btcsuite
- ```
- # list accounts
- btcctl -C ~/.btcctl/wallet.conf --wallet listaccounts
- # decrypt wallet for 180 seconds
- btcctl -C ~/.btcctl/wallet.conf --wallet walletpassphrase "$BTCW_PASSPHRASE" 180
- # create new account
- btcctl -C ~/.btcctl/wallet.conf --wallet createnewaccount "accountname"
- # list accounts
- btcctl -C ~/.btcctl/wallet.conf --wallet listaccounts 0
- # create new address
- btcctl -C ~/.btcctl/wallet.conf --wallet getnewaddress
- # import a private key
- btcctl -C ~/.btcctl/wallet.conf --wallet importprivkey "L4Qf5hcFAbewoa6FbH6U6nYBzS2sfesdQWwfyCa1m5oYyijtAGf8"
- # get balance
- btcctl -C ~/.btcctl/wallet.conf --wallet getbalance
- # list received by address
- btcctl -C ~/.btcctl/wallet.conf --wallet listreceivedbyaddress 0 true
- # get btcd block height
- btcctl -C ~/.btcctl/btcctl.testnet.conf getblockcount | jq '.'
- # get btcwallet total balance
- perl6 -e 'say [+] |qx{btcctl -C ~/.btcctl/wallet.testnet.conf --wallet listreceivedbyaddress 0 true | jq ".[] | .amount"}.trim.split("\n")'
- # stop btcwallet
- btcctl -C ~/.btcctl/ --wallet stop
- # stop btcd
- btcctl -C ~/.btcctl/btcctl.testnet.conf stop
- ```
- Licensing
- ---------
- This is free and unencumbered public domain software. For more
- information, see http://unlicense.org/ or the accompanying UNLICENSE file.
- from https://gist.github.com/atweiden/633fadd8aa7c6a54bead
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement