深度学习
本节以比特币测试网络作为开发试验环境,结合Node.js实现开源项目ODIN的标识注册功能,说明如何利用多重签名交易形式来嵌入自定义数据,签名广 播后,再被矿工节点确认存入区块链后,最终能被读取、解析,得到注册结果。这样就实现了一个从写入区块链到从区块链读取的完整过程。
6.3.1 将ODIN标识注册到区块链上的实例解析
ODIN是Open Data Index Name即“开放数据索引命名标识”的缩写,第10章中会介绍ODIN更多的技术细节。广义上说,ODIN是指在网络环境下标识和交换数据内容索引的一种 开放式系统。ODIN的实现关键是把数据嵌入比特币交易的多重签名输出数据块中,对于1-of-N输出,每个数据块的第1个公钥固定是发送者的,第2~N 个公钥的地址空间用来存放编码的ODIN消息数据。下面一段文字是ODIN技术规范里对于“新注册ODIN标识”的具体消息定义。
其中:
·比特币源地址对应ODIN标识注册者。
·比特币目的地址对应ODIN标识拥有者。
6.3.2 运行示例程序
示例程序包括两部分。
(1)OdinMonitorTestnet.js
监测比特币测试网络Testnet相关区块链数据的变化,从中解析出新注册的ODIN标识。
源码可以从下述网址下载:http://ppkpub.org/sample/OdinMonitorTestnet.js 。
(2)OdinRegisterTestnet.js
在比特币测试网络Testnet注册一个新的ODIN标识。
源码可以从下述网址下载:http://ppkpub.org/sample/OdinRegisterTestnet.js 。
将上述示例代码下载并保存到测试环境下(保存文件名为OdinRegisterTestnet.js和OdinMonitorTestnet.js)。在开发测试环境的命令行下输入以下命令,启动监测示例程序。
node OdinMonitorTestnet.js
然后新开启一个文本终端窗口,在命令行下输入以下命令运行注册示例程序。
node OdinRegisterTestnet.js
运行上述注册示例程序后,到比特币测试网络的Docker运行环境的命令行下输入“make generate BLOCKS=10”,模拟产生新的区块记录,刚产生的交易记录就会得到有效的确认,并被存入区块链中。这时在监测程序的运行界面上就会提示解析到新的 ODIN标识注册记录,如图6-22所示。
刚接触比特币及其底层区块链技术的开发者常常会面临问题:如何上手比特币区块链应用开发技术?如何了解它的关键技术实践点?本章用简短的篇幅,结合笔者在 PPk ODIN开源项目中的实践经验,用具体案例来阐述和介绍相关开发知识。读者通过学习本章,可以理解RPC协议接口和关键的比特币“交易”数据结构,进而举 一反三,就可以灵活应用到自己的开发实践中。
来源:我是码农,转载请保留出处和链接!
本文链接:http://www.54manong.com/?id=1011
微信号:qq444848023 QQ号:444848023
加入【我是码农】QQ群:864689844(加群验证:我是码农)
全站首页 | 数据结构 | 区块链| 大数据 | 机器学习 | 物联网和云计算 | 面试笔试
var cnzz_protocol = (("https:" == document.location.protocol) ? "https://" : "http://");document.write(unescape("%3Cspan id='cnzz_stat_icon_1276413723'%3E%3C/span%3E%3Cscript src='" + cnzz_protocol + "s23.cnzz.com/z_stat.php%3Fid%3D1276413723%26show%3Dpic1' type='text/javascript'%3E%3C/script%3E"));本站资源大部分来自互联网,版权归原作者所有!
评论专区