区块链技术与应用实验报告
关于作者
作者介绍
🍊 博客主页:作者主页
🍊 简介:云计算领域优质创作者🏆、在校期间参与众多计算机相关的省赛、国赛,斩获系列荣誉。考取华为资深工程师、红帽工程师等系列认证。
🍊 关注我:简历模板、学习资料、文档下载、技术支持 都可以私信我哦!
让生命像一团热烈燃烧的火,直到死亡才能使它熄灭
一、实验目的
- 实验目的
# 掌握比特币客户端BitcoinCore的基本原理知识 # 掌握比特币客户端BitcoinCore的安装与配置方法
二、实验原理简介
- 实验简介
# bitcoin Core是比特币官方开发的节点客户端,提供了成为全节点所需的全面功能,并为比特币的开发、测试和实际运行提供了友好的工具,包含3个主要程序。 (1) bitcoin-qt: 封装了完整的比特币全节点,并提供了一个带有GUI的钱包程序,可以实现交易数据可视化。钱包的“帮助”菜单中提供了控制台,以发布多类RPC命令,对普通用户更加友好。 (2) bitcoind:提供了一个轻量级的封装好的比特币全节点,在部署后,可以通过向其发布RPC命令与之交互,对开发者更加友好。 (3) bitcoin-cli:提供了通过命令行全节点发送RPC命令的功能,一般用于与bitcoind配合进行调试。 借助前面建立的回归测试网络,可以采用bitcoin-cli向相关节点发布RPC命令与测试链进行交互。新打开一个命令行,输入如下命令,查看工具的使用方法。 bitcoin-cli –h 在每次使用bitcoin-cli时,同样需要使用”-datadir=<dir>”标记配置文件的路径,再承接要发送的RPC命令。例如,对于节点alice,我们希望查询其视角内与之相连的节点信息,则应该输入: bitcoin-cli –datadir=%appdata%\bitocin\alic\ getpeerinfo
三、实验环境
- 实验环境
# 实验环境 本实验在PC机上即可进行,操作系统可以是Windows10或Linux。注意,在Linux系统中实验的部署方法类似甚至更方便,增加了对于-daemon命令(后台运行)的支持。 # 这里使用 windows 平台做演示 windows 10 专业版
四、实验步骤
4.1 实验先关命令参数说明
- 相关参数
#若回归网络建立正常,则应返回JSON格式的节点信息。 #命令说明: getpeerinfo:获取对方节点信息 generate 1/0:使节点挖矿/停止挖矿 getbalance: 获取节点账户余额 getaddressesbyaccount "" 获取对方地址 sendtoaddress “address” amount: 向某地址发送一定量的代币。
4.2 三个节点都运行后,新打开一个dos 窗口,然后输入bitcoin-cli –h
4.2 getpeerinfo:获取对方节点信息
4.3 generate 1/0:使节点挖矿/停止挖矿
4.4 gebalance: 获取节点账户余额
4.5 getaddressesbyaccount “” 获取对方地址
4.6 sendtoaddress “address” amount: 向某地址发送一定量的代币
4.7 对方需要挖矿后,才可以查看到账户余额 – listacounts
五、课后作业
5.1 为alice生成至少150BTC的可用余额
5.2 生成交易,由alice支付给bob2.5BTC,支付给network1.5BTC,并使交易入块,获得确认。
5.3 分别用命令获得bob和network的余额,并显示承载上述关键交易的原始数据。
总结
- 实验常用命令汇总:
#bitcoind -conf=%APPDATA%\Bitcoin\alice getbalance #bitcoind -conf=%APPDATA%\Bitcoin\alice.conf -datadir=%APPDATA%\Bitcoin\alice #bitcoind -conf=%APPDATA%\Bitcoin\bob.conf -datadir=%APPDATA%\Bitcoin\bob #bitcoind -conf=%APPDATA%\Bitcoin\network.conf -datadir=%APPDATA%\Bitcoin\network #bitcoin-cli -conf=%APPDATA%\Bitcoin\alice.conf -datadir=%appdata%\bitcoin\alic\ getpeerinfo # alice 开始挖矿 #bitcoin-cli -conf=%APPDATA%\bitcoin\alice.conf -datadir=%appdata%\bitcoin\alice generate 50 #查看alice btc数量 #bitcoin-cli -conf=%APPDATA%\bitcoin\alice.conf -datadir=%appdata%\bitcoin\alice listaccounts { "": 2589.99996160 } # 获取bob 地址 getaddressesbyaccount "" bitcoin-cli -conf=%APPDATA%\bitcoin\bob.conf -datadir=%appdata%\bitcoin\bob getaddressesbyaccount "" [ "msCC1DNZ4unZeRnvKddmfRYu6pKvA5v2tV" ] # 获取network 地址 getaddressesbyaccount "" sendtoaddress "获取的地址" 赠送的数量 bitcoin-cli -conf=%APPDATA%\bitcoin\network.conf -datadir=%appdata%\bitcoin\network getaddressesbyaccount "" # 赠送 btc,1.先获取对方地址 getaddressesbyaccount "" 2. bitcoin-cli -conf=%APPDATA%\bitcoin\network.conf -datadir=%appdata%\bitcoin\network getaddressesbyaccount "" # 确认btc ,需要挖矿一次 # bitcoin-cli -conf=%APPDATA%\bitcoin\bob.conf -datadir=%appdata%\bitcoin\bob generate 1 [ "4cba404abee95f83890b4fd93301ce7b4ae3a33bd5d7f5ed7efb575768c6528b" ] #bitcoin-cli -conf=%APPDATA%\bitcoin\network.conf -datadir=%appdata%\bitcoin\network generate 1 [ "54a19e70324283f77f583ed31dea5d08551bd5ca514593eb3b684ec7e24033bf" ] # 查看收获的btc listaccounts # bitcoin-cli -conf=%APPDATA%\bitcoin\network.conf -datadir=%appdata%\bitcoin\network #listaccounts