首页 > golang > linux搭建BTC钱包
2024
02-11

linux搭建BTC钱包

在Linux系统上搭建一个比特币(BTC)钱包,你可以选择使用Bitcoin Core客户端,这是比特币官方提供的全节点客户端。以下是使用Bitcoin Core搭建BTC钱包的基本步骤:

比特币节点有很多实现

bitcoin core:官方节点,c/c++实现,正式网络大多数都是用这个来运行全节点

btcd:golang的实现版本,如果用golang来写一些功能,可以参考这个代码

libbitcoin:c/c++实现,特点是它有较好的工具链

parity-bitcoin:rust实现,是以太坊创始人之一Gavin Wood的新公司Parity Technologies下的一个产品,它同样也实现了以太坊rust版本


还有很多其他实现,如java版本和js版本。如果用作商业用途,那bitcoin core必然是最稳妥的选择。所以这里选择了bitcoin core。


配置:

    硬盘:500G。比特币从08年开始运行,已经积累了大量数据,区块链内容大小达210G。

    内存:16G。一般来说4G就够,但如果要查历史记录,需要加载完整的交易索引表-tindex,这导致需要8G+的内存

    cpu:4核。

    带宽:一般就行。阿里云的一般2-3天就能同步完。

1. 下载Bitcoin Core

访问比特币官方网站下载Linux版本的Bitcoin Core钱包安装包。例如,你可以使用以下命令下载:

wget https://bitcoin.org/bin/bitcoin-core-0.18.1/bitcoin-0.18.1-x86_64-linux-gnu.tar.gz

2. 解压安装包

使用tar命令解压下载的安装包:

tar -zxvf bitcoin-0.18.1-x86_64-linux-gnu.tar.gz

3. 创建钱包目录

创建一个目录来存放Bitcoin数据和配置文件:

mkdir /data/btc/data

4. 配置Bitcoin客户端

创建或编辑Bitcoin的配置文件bitcoin.conf,这个文件通常位于~/.bitcoin目录下。你可以使用文本编辑器如vimnano来编辑:

vim ~/.bitcoin/bitcoin.conf

在配置文件中,你可能需要设置以下选项:

# 数据存储目录
datadir=/data/btc/data
# 设置数据库缓存大小
dbcache=4000
# 交易索引
txindex=1
# RPC访问的用户和密码
rpcuser=rpc_username
rpcpassword=rpc_password
# 后台启动
daemon=1
# 开启JSON-RPC接口
server=1
rest=1
listen=1
# 在测试网络中运行,而不是在真正的比特币网络
testnet=1
[test]
#RPC接口监听地址 必须放到 [test] 模块下
rpcbind=0.0.0.0
# 访问端口,通常是8332 必须放到 [test] 模块下
rpcport=8332

# 设置 gen=1 以尝试生成比特币(采矿)
#gen=0

# 预生成如下数目的公匙和私匙,这样钱包备份便可以对已有的交易以及未来 
# 多笔交易有效

#keypool=100# 每次您发送比特币的时候支付一个可选的额外的交易手续费。包含手续费的交易

# 会更快的被包含在新生成的货币块中,因此会更快生效

#paytxfee=0.00# 允许直接连接,实现“通过 IP 地址支付”功能

#allowreceivebyip=1# 用户界面选项:

# 最小化启动比特币客户端

#min=1# 最小化到系统托盘

#minimizetotray=1


更多配置介绍参考: https://www.cnblogs.com/x-poior/p/9592263.html


5. 初始化Bitcoin客户端

运行Bitcoin客户端进行初始化:

./bitcoind  #正式节点
./bitcoind -testnet   #测试节点,或者放到配置文件中 testnet=1
./bitcoind -conf=/data/btc/.bitcoin/bitcoin.conf  #指定特殊的配置文件


RPC操作

正式节点./bitcoin-cli 加其他参数
测试节点./bitcoin-cli -testnet 加其他参数 ,或者放到配置文件中 testnet=1
测试节点./bitcoin-cli -conf=/data/btc/.bitcoin/bitcoin.conf  #指定特殊的配置文件


关闭bitcoin,一定要用以下命令,否则会有可能导致数据异常,需要重新同步数据

./bitcoin-cli stop


其他命令, 确保ntp服务是开启的,大多数区块链都要求开启。

# 查看网络状态:
bitcoin-cli getnetworkinfo
# 查看网络节点:
bitcoin-cli getpeerinfo
# 查看区块链信息:如同步进度、
bitcoin-cli getblockchaininfo
# 查看所有命令
bitcoin-cli help

6. 同步区块链数据

Bitcoin Core将会开始同步区块链数据,这可能需要较长时间,取决于你的网络速度和机器性能。

7. 创建服务(可选)

为了使Bitcoin Core在系统启动时自动运行,你可以创建一个systemd服务文件。这需要root权限:

sudo touch /etc/systemd/system/bitcoind.service
sudo chmod 664 /etc/systemd/system/bitcoind.service
sudo vi /etc/systemd/system/bitcoind.service

bitcoind.service文件中添加Bitcoin Core服务的配置内容。

8. 启动Bitcoin服务(如果创建了服务文件)

启动Bitcoin服务以同步区块链:

sudo systemctl start bitcoind.service

9. 管理Bitcoin钱包

使用bitcoin-cli命令行工具来管理你的钱包,例如获取新地址、发送交易等。

# 生成以 'm' 或 'n' 开头的Testnet地址

./bitcoin-cli -conf=/data/btc/.bitcoin/bitcoin.conf getnewaddress "" "legacy"

n2t7NPChCpissJoN8oCnW7o84LDY9QYA39

./bitcoin-cli -conf=/data/btc/.bitcoin/bitcoin.conf dumpprivkey "n2t7NPChCpissJoN8oCnW7o84LDY9QYA39"

cRhxB8pgVp4B7HEWzJ9FPA1f9rxadZEQQyZNpunaF7mPoemA362y

bitcoin-cli getbalance  #查询余额

bitcoin-cli getaddressinfo "你的比特币地址"  #查询某个地址的余额

常用区块链水龙头:/?id=4100


安全性

    确保服务器的防火墙设置正确,只允许受信任的IP地址访问RPC端口。

    使用强大的RPC用户密码,并考虑设置rpcallowip以限制允许连接到RPC服务器的IP地址。

注意

    搭建全节点钱包需要较多的存储空间和带宽。

    根据你的Linux发行版,步骤可能略有不同。

    请根据Bitcoin Core的官方文档进行操作,以获取最新的安装和配置信息。

以上步骤314基于搜索结果中提供的信息进行了概述。在实际操作中,你可能需要参考Bitcoin Core的官方文档和社区支持以解决具体问题。


本文》有 0 条评论

留下一个回复