使用ABAP实现一个最简单的区块链原型

本文介绍了一个结合ABAP与区块链技术的测试程序。该程序能够生成包含特定字段的ABAP内表,代表区块链中的各个区块,并确保每个区块的哈希值符合预设的难度级别。此外,还提供了一个用于展示区块链数据的输出程序。
摘要由CSDN通过智能技术生成

这个测试程序的前半部分来源于SAP Community的博客ABAP Meets Blockchain, 作者是Nabheet Madan。

这部分主要负责生成一个ABAP内表,每行记录是区块链的一个块。为简单起见,每块拥有如下字段:

  • 块索引

  • 块数据 - 这里简单用一个字符串来描述

  • 块哈希 - 这个例子里,将该块所有字段的内容拼成一个长字符串,再经过SHA1计算得到的结果,作为该块的哈希值。

  • 时间戳 - 存储了该块的哈希计算出来的时间戳,即该块诞生的时间戳

  • 前一块的哈希 - 通过这个字段把一系列块串起来形成了链的结构。

  • NONCE - 这个字段需要和难度层级(difficult level)联合起来理解。

我使用下图的输入执行测试程序,

449

生成了如下图的区块链:

700

可以看到每个块的hash都是00000开头。这就对应了输入的难度层级00000。这个层级的意思是,如果根据上文介绍的SHA1计算出来的hash的前5个字符不是以00000开头,则丢弃掉,nonce加1,再继续循环,直至计算出来的hash前5个字符确实是以00000开头为止。因此,nonce字段实际上记录了该块诞生以来一共经过了多少次SHA1计算。

测试程序的后半部分是我自己开发的,作用是接受一个包含了区块链数据的ABAP内表,然后以链式结构输出。因为SAPGUI里没有现成的链表控件,所以我用树形控件做了模拟。

700

完整测试程序在我的github上。

要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:

321
531

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24475491/viewspace-2153731/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/24475491/viewspace-2153731/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值