Linux安装BTC(比特币)钱包

一.安装服务硬件配置…….

由于同步区块对服务性能要求过高,建议服务器采用32核64G内存  系统磁盘要求1T。
1.账户体系
比特币所有地址加密信息都存储在数据目录下面的wallet.dat文件,具有自动找零,自
动汇总机制。
2.密码机制
可以通过客户端给wallet.dat文件设置解锁密码,每次需要私钥信息(转账前需要先解
锁)都需要通过密码先解锁
3.资金安全
a.wallet.dat文件或者解锁密码一旦丢失,资金永久丢失;可通过写脚本定时备份到另
外主机。
b.rpc信息一旦暴露,资金也会被盗;通过防火墙(安全组限制端口),内网通信,rpc
限制ip等方法解决。

二.安装钱包……..

1.下载钱包安装文件
[root@VM_0_5_centos ~]# mkdir /mnt/btc
[root@VM_0_5_centos ~]# cd /mnt/btc/
[root@VM_0_5_centos btc]# wget https://bitcoin.org/bin/bitcoin-core-0.18.0/bitcoin-0.18.0-x86_64-linux-gnu.tar.gz

2.解压btc压缩文件,启动BTC。
[root@VM_0_5_centos btc]# tar xf bitcoin-0.18.0-x86_64-linux-gnu.tar.gz
[root@VM_0_5_centos btc]# cd bitcoin-0.18.0/
[root@VM_0_5_centos btc]# cd bitcoin-0.18.0/bin/
[root@VM_0_5_centos bin]# ./bitcoind -datadir=/mnt/btc

同步区块过程缓慢......需要三天三夜

3.RPC配置....
在空间足够的磁盘下创建数据目录,并在数据目录中写入bitcoin.conf文件

vim /mnt/btc/bitcoin.conf
#监听模式,默认启动
listen=1  
#允许bitcoin接收JSON-RPC
server=1  
#RPC用户名
rpcuser=bitcoin 
#RPC密码
rpcpassword=MeVz4mcTYZgvY4fT3bECaf8YkWKYxdhhZ1
#RPC端口
rpcport=8888
#允许RPC访问ip
rpcallowip=127.0.0.1
 ———————————————— 
listen=1
server=1
daemon=1
rpcuser=bitcoinuser
rpcpassword=bitcoinpassword
rpcport=9596
rpcallowip=127.0.0.1
txindex=1//设置可搜索全部交易信息,不设置只能查询自己钱包的交易信息
-----------------
端口需要更改.
脚本代表制定数据目录为/mnt/btc/
4.编写启动脚本
vim bitcoin_start.sh
nohup ./bitcoind &
----------------------------------------------
注:数据默认存放位置~/.bitcoin/,如需修改添加启动参数--datadir=/path
nohup ./bitcoind --datadir=/path &
5.查看区块同步高度
./bitcoin-cli -datadir=/mnt/btc/ --getinfo
6.创建钱包
root@iZj6cbtw0rx08ouqndbvgsZ:/mnt/btc/bitcoin-0.18.0/bin# ./bitcoin-cli -datadir=/mnt/btc/ createwallet "tykj" 
{
  "name": "tykj",
  "warning": ""
}
7.查询钱包列表
root@iZj6cbtw0rx08ouqndbvgsZ:/mnt/btc/bitcoin-0.18.0/bin# ./bitcoin-cli -datadir=/mnt/btc/ listwallets
[
  "",
  "tykj"
]
8.查询钱包信息
root@iZj6cbtw0rx08ouqndbvgsZ:/mnt/btc/bitcoin-0.18.0/bin# ./bitcoin-cli -datadir=/mnt/btc/ -rpcwallet=tykj  getwalletinfo
{
  "walletname": "tykj",
  "walletversion": 169900,
  "balance": 0.00000000,
  "unconfirmed_balance": 0.00000000,
  "immature_balance": 0.00000000,
  "txcount": 0,
  "keypoololdest": 1567413300,
  "keypoolsize": 1000,
  "keypoolsize_hd_internal": 1000,
  "paytxfee": 0.00000000,
  "hdseedid": "ee9651bfacc0fc2ae3aeb18f458685e257934bef",
  "private_keys_enabled": true
}
9.设置手续费
root@iZj6cbtw0rx08ouqndbvgsZ:/mnt/btc/bitcoin-0.18.0/bin# ./bitcoin-cli -datadir=/mnt/btc/ -rpcwallet=tykj  settxfee 0.00001
true
10.加密钱包
root@iZj6cbtw0rx08ouqndbvgsZ:/mnt/btc/bitcoin-0.18.0/bin# ./bitcoin-cli -datadir=/mnt/btc/ -rpcwallet=tykj  encryptwallet "test"
wallet encrypted; The keypool has been flushed and a new HD seed was generated (if you are using HD). You need to make a new backup.
11.锁住钱包
root@iZj6cbtw0rx08ouqndbvgsZ:/mnt/btc/bitcoin-0.18.0/bin# ./bitcoin-cli -datadir=/mnt/btc/ -rpcwallet=tykj  walletlock
12.解锁钱包
root@iZj6cbtw0rx08ouqndbvgsZ:/mnt/btc/bitcoin-0.18.0/bin# ./bitcoin-cli -datadir=/mnt/btc/ -rpcwallet=tykj  walletpassphrase "
test" 20
13.修改钱包密码
root@iZj6cbtw0rx08ouqndbvgsZ:/mnt/btc/bitcoin-0.18.0/bin# ./bitcoin-cli -datadir=/mnt/btc/ -rpcwallet=tykj  walletpassphrasechange "test" "test1"
14.获取新地址
root@iZj6cbtw0rx08ouqndbvgsZ:/mnt/btc/bitcoin-0.18.0/bin# ./bitcoin-cli -datadir=/mnt/btc/ -rpcwallet=tykj  getnewaddress
3MVnupuK6a21T943VrDCLsdM8N4db7VmSB
15.获取钱包地址列表
root@iZj6cbtw0rx08ouqndbvgsZ:/mnt/btc/bitcoin-0.18.0/bin# ./bitcoin-cli -datadir=/mnt/btc/ -rpcwallet=tykj  listaddressgroupings
[
]
16.查询钱包余额
root@iZj6cbtw0rx08ouqndbvgsZ:/mnt/btc/bitcoin-0.18.0/bin# ./bitcoin-cli -datadir=/mnt/btc/ -rpcwallet=tykj  getbalance
0.00000000
17.转账
root@iZj6cbtw0rx08ouqndbvgsZ:/mnt/btc/bitcoin-0.18.0/bin# ./bitcoin-cli -datadir=/mnt/btc/ -rpcwallet=tykj  -rpcuser=bitcoinuser -rpcpassword=bitcoinpassword sendtoaddress "3GAv3NMv8fqe4fmtwLMGyUfvSyHxrSMcW5" 0.0001error code: -6
error message:
Insufficient funds

温馨提示,转账记得先解锁!!!!
哭唧唧,我一个人币币没有,所以提示我资金不足,比特币就是这样转账,高端大气上档次啊!
18.查询地址收款信息
root@iZj6cbtw0rx08ouqndbvgsZ:/mnt/btc/bitcoin-0.18.0/bin# ./bitcoin-cli -datadir=/mnt/btc/ -rpcwallet=tykj getreceivedbyaddress 3GAv3NMv8fqe4f
mtwLMGyUfvSyHxrSMcW5error code: -4
error message:
Address not found in wallet

哭唧唧!由于我没有转账成功,所以本地钱包没有这个地址信息,所以查询不到,如果想要点效果,可以去买一两百个币玩玩。
19.验证地址是否有效
root@iZj6cbtw0rx08ouqndbvgsZ:/mnt/btc/bitcoin-0.18.0/bin# ./bitcoin-cli -datadir=/mnt/btc/ -rpcwallet=tykj validateaddress 3GAv3NMv8fqe4fmtwLM
GyUfvSyHxrSMcW5{
  "isvalid": true,
  "address": "3GAv3NMv8fqe4fmtwLMGyUfvSyHxrSMcW5",
  "scriptPubKey": "a9149ed87f61f130ec45ced70783783dc67aa8eaf3b587",
  "isscript": true,
  "iswitness": false
}
20.导出钱包所有秘钥
root@iZj6cbtw0rx08ouqndbvgsZ:/mnt/btc/bitcoin-0.18.0/bin# ./bitcoin-cli -datadir=/mnt/btc/ -rpcwallet=tykj -rpcuser=bitcoinuser -rpcpassword=bitcoinpassword dumpwallet /tmp/dump.txt
{
  "filename": "/tmp/dump.txt"
}

温馨提示:每一次操作钱包都需要解锁钱包
21.根据交易ID查询交易信息
root@iZj6cbtw0rx08ouqndbvgsZ:/mnt/btc/bitcoin-0.18.0/bin# ./bitcoin-cli -datadir=/mnt/btc/ -rpcwallet=tykj -rpcuser=bitcoinuser -rpcpassword=bitcoinpassword gettransaction  "fac90eb9913589907
c5763044228269c73bda68b5484a757ec6c163c93648862"
error code: -5
error message:

依旧是钱包中没有这个地址,所以报错!!!!!!     哦!原来如此,我的天啊!!!!!!!!!

打赏

Leave a Comment

电子邮件地址不会被公开。 必填项已用*标注