blockchain-ex3
实验三:比特币客户端&比特币回归测试网络
实验 3-1 熟悉 Bitcoin Core 的基本配置方法
3-1.1 熟悉比特币客户端的配置方法
环境配置好后,使用-version选项测试如下
使用bitcoind创建全节点后,出现regtest目录,打开debug.log后,分析调试日志信息如下:
测试中为存储链上交易状态初始化的数据空间是多少?
2+8+440=450MiB2+8+440=450MiB2+8+440=450MiB
初始化过程中,节点钱包密钥池最终保存了多少对密钥?
2000+1=20012000+1=20012000+1=2001 keys
简述回归测试模式下,程序添加 P2P 节点的步骤?
根据DNS寻找潜在的P2P的ip地址进行解析
加载找到的节点地址/套接字<ip,port>
对该目标地址进行监听
开放通道,消息握手
3-1.2 学习 bitcoin.conf 的配置方法
在回归测试网络中建立三个节点:alice,bob,network,并使他们相互连接,可以进行交互。
三个节点 ...
blockchain-ex2
实验二:使用Go语言构造区块链
实验概述
21 世纪最具先峰性的代表性技术之一,就是区块链。目前,它仍然处于,并将长期处于不断成长的时期,而且,在他的身上,还有很多潜在的力量,没有完全展露出来。从本质上来讲,区块链的核心,可以说是一个分布式数据库而已。不过,在区块链中,与传统的分布式数据库,最为独一无二的地方在于,区块链的数据库是公开的,而不是一个私人数据库。也就是说,每个使用它的人,都将在自己的机器上,拥有一个或部分,或完整的副本。而向数据库中添加新的记录,必须经过其他“矿工”的同意,才可以。除此以外,也是因为区块链的兴起,才使得加密货币和智能合约这一新兴技术,成为正在发生的事情。
本实验将在Go语言的环境下,实现一个简化版的区块链。
实验目标
熟练掌握用Go语言的语法。
在实践中学会构造区块链的区块(实验2-1),将区块链接为链(实验2-2),为该区块链添加工作量证明(实验2-3),
举一反三,发散思维,尝试实现链上数据的持久化存储(拓****展实验2-4) ,为该区块链添加命令行接口(拓展实验2-5)。
实验内容
实验2-1:构建区块
将ex2-1文件夹下的blo ...
blockchain-ex1
实验一:Go语言基础&区块链中的典型密码算法
实验概述
Go(又称golang)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。由于实验环境是在go环境下开发,因此需要预先对go的语法规则有一个基本的了解。
实验准备
实验系统:
Mac OS (Apple M1 PRO)
环境配置
在Mac OS系统下使用homebrew安装go语言环境,并安装goLand
实验内容
实验1-1 入门练习
使用Go语言编写一段程序实现以下功能:给定三个不同的正整数,求它们的最小公倍数。
先使用辗转相除法设计最大公因数函数gcd(a,b)gcd(a,b)gcd(a,b),再根据lcm(a,b)=a∗bgcd(a,b)lcm(a,b)=\frac{a*b}{gcd(a,b)}lcm(a,b)=gcd(a,b)a∗b的性质,可以计算出两数的最小公倍数,重复使用上述流程即可求的三个正整数的最小公倍数。
完整代码和参数、结果如下图:
实验1-2 比特币测试网地址的生成
参考以下比特币地址生成流程,用Go语言实现如下操作:
实现HAS ...
SSH
SSH
ssh连接
1ssh username@ip [-p port]
上传密钥至服务器
1ssh-copy-id username@ip
测试连接
1ssh -T git@github.com
git
Git代理配置
http/https代理
全局
12git config --global http.proxy http://127.0.0.1:7890git config --global https.proxy http://127.0.0.1:7890
特定域名
12git config --global http.https://github.com.proxy http://127.0.0.1:7890git config --global https.https://github.com.proxy http://127.0.0.1:7890
取消
12git config --global --unset http.proxygit config --global --unset http.https://github.com.proxy
SSH代理
nc:netcat
1brew install netcat
在/etc/ssh/ssh_config中加入如下:
123456789101112131415Host ...