学习路线:
这个方向初期比较容易入门一些,掌握一些基本技术,拿起各种现成的工具就可以开黑了。不过,要想从脚本小子变成黑客大神,这个方向越往后,需要学习和掌握的东西就会越来越多以下是网络渗透需要学习的内容:
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
* [5.7.4 查看3个节点连接正常的信息](#574_3_257)
+ [总结](#_263)
区块链技术与应用实验报告(实验一)
关于作者
🍊 博客主页:作者主页
🍊 简介:云计算领域优质创作者🏆、在校期间参与众多计算机相关的省赛、国赛,斩获系列荣誉。考取华为资深工程师、红帽工程师等系列认证。
🍊 关注我:简历模板、学习资料、文档下载、技术支持 都可以私信我哦!
让生命像一团热烈燃烧的火,直到死亡才能使它熄灭
一、实验目的
- 实验目的
# 掌握比特币客户端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 区块链简介
- 2008年 11月 日裔美国人 —比特币的开发者兼创始者 中本聪 发表 比特币白皮书 ,提出了区块链的概念
- 区块链是 一种分布式共享账本 技术,记录了资产转移的过程、交易数据,具有数据库相似功能
- 它是一种点对点的关系,本质上是 去中心化、分布式的,主要1.0和2.0两个阶段
- 区块链的特点:去中心化、防篡改、防丢失、易溯源
- 区块链的关键技术:
- 共识机制:
- Pow:工作量证明
- PoS:权益证明
- DPoS:委任权益证明
- PBFT:实用拜占庭容错算法
- 智能合约:
- 安全技术:
- 哈希算法
- 非对称加密算法(RSA、ECC)
- 数据库存储:
- 组网技术:
- 共识机制:
- 其它主流区块链平台:以太坊、超级账本、Corda、梧桐链
4.2 比特币简介
- 比特币 是区块链最成功的、最重要的应用
- 比特币是 基于密码学和 经济博弈的 一种数字加密货币,也是历史上首个经过 大规模长时间运作检验的虚拟货币系统。
- 算法处理流程:挖矿和 记账的过程
- 比特币 官网:官网
五、实验环境部署
5.1 实验环境说明
- 使用环境
操作系统 | 软件版本 |
---|---|
windows 10 专业版 | bitcoin-core-0.15.2 |
- 软件下载地址:bitcoin-core-0.15.2
5.2 软件安装
- 安装介绍
# 这里正常安装吧,没事要说明的,可以安装C盘,也可以安装其他盘。
# 注意下宿主机是否 关闭防火墙
5.3 配置环境变量
- 打开你安装的路径,然后复制路径
- 点击此电脑、右键属性、高级系统设置、环境变量、找到 系统变量(S)里的PATH、
后面输入;你安装的路径如:;D:\bitcoin\daemon
- 或者参考下图配置环境变量。
5.4 win+R,输入cmd,回车进入命令行
- 进入命令行
5.5 输入 bitcoind -version 测试是否安装成功
- bitcoind -version
5.6 打开创建一个记事本,输入内容 regtest=1,保存xx.conf
- 1.先查看 bitcoin 安装目录在哪
- 2. 尝试打开以上路径,新建文件bitcoin.conf,通过文本编辑器编辑,在文件第1行添加“regtest=1”,保存后调出CMD命令行,运行“bitcoind”命令,观察daemon文件夹的变化。
# 多了一个regtest 的目录,同时文件和bitcoin 目录文件一样的
5. 7 创建三个节点,同时运行,进行通信
5.7.1 配置文件 xx.conf 介绍
- 相关参数:
# regtest=1
开启回归测试网络的关键命令,若遗漏,则会自动连入主网,开始同步高达GB的区块数据。
# port=XXXX
这条命令用来配置节点连接时使用的网络端口,回归测试下默认为18444。如果设置多个节点同时运行,则需要自定义配置不同的端口,尽量避免与系统已有的服务发生冲突。
# connect=<ip:port>和addnode=<ip:port>
二者都是手动添加已知节点的手段,区别是:connect命令配置后,节点将只从配置的特定地址接收数据,拒绝其他节点的连接,而addnode命令没有此类限制。Addnode命令的IP地址在回归测试中一般设定为系统默认回送地址,即127.0.0.1。
# server=0/1
这条命令用来配置节点是否作为服务节点,即是否接受RPC命令,默认值为1,因此不用额外配置。
# rpcport=XXXX
这条命令配置RPC命令的监听端口。同样,如果设置多个节点同时运行,则需要自定义配置不同的端口,尽量避免与系统已有的服务发生冲突。
# rpcuser=XXXXhe rpcpassword=XXX
这条命令用来设定RPC的访问用户名和密码,是安全使用RPC命令的必备命令。即使是节点也不会希望自己的客户端莫名接受了他人的命令,从而失去钱包中的所有代币。
## 写在最后
**在结束之际,我想重申的是,学习并非如攀登险峻高峰,而是如滴水穿石般的持久累积。尤其当我们步入工作岗位之后,持之以恒的学习变得愈发不易,如同在茫茫大海中独自划舟,稍有松懈便可能被巨浪吞噬。然而,对于我们程序员而言,学习是生存之本,是我们在激烈市场竞争中立于不败之地的关键。一旦停止学习,我们便如同逆水行舟,不进则退,终将被时代的洪流所淘汰。因此,不断汲取新知识,不仅是对自己的提升,更是对自己的一份珍贵投资。让我们不断磨砺自己,与时代共同进步,书写属于我们的辉煌篇章。**
需要完整版PDF学习资源私我
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化资料的朋友,可以点击这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**