脚本宝典收集整理的这篇文章主要介绍了基于Hyperledger Fabric实现ERC721,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
超级账本(HyPErlEdger)项目是首个面向企业应用场景的开源分布式账本平台。由Linux基金会牵头,包括 IBM 等 30家初始企业成员共同成立的。
区块链网络主要有三种类型:公共区块链、联盟或联合区块链,以及私有区块链。Hyperledger Fabric定位是面向企业的分布式账本平台,引入权限管理,设计上支持可插拔、可扩展,是首个面向联盟链场景的开源项目。
REC721是一个区块链数字资产标准,我的这篇文章初探区块链数字加密资产标准ERC721有介绍,本文不再赘述。
根据Hyperledger Fabric官网的要求,我们需要如下的环境:
然后根据官网的要求搭建好环境,具体过程参见官网:https://hyperledger-fabric.readthedocs.io/en/latest/PRereqs.htML
项目分为合约和应用程序两部分,下面会分别介绍。
先来看一下目录结构
@H_406_30@.
|-- BasicContract.java ----------------------合约文件
|-- ERC721Context.java ----------------------合约上下文
|-- IERC721.java ----------------------------ERC721接口
|-- Utils.java ------------------------------工具类
|-- constant --------------------------------存放常量的目录
| `-- ContractConstant.java
|-- event -----------------------------------存放事件的目录
| |-- ApprovalEvent.java
| |-- ApprovalForAllEvent.java
| |-- Event.java
| `-- transferEvent.java
|-- ledgerapi -------------------------------对state的抽象,定义了基础的增删改查
| |-- State.java
| |-- StateDeserializer.java
| |-- StateList.java
| `-- impl
| `-- StateListImpl.java
`-- state -----------------------------------存放state的目录
|-- Balance
| |-- Balance.java
| `-- BalanceList.java
|-- NFT
| |-- NFT.java
| `-- NFTList.java
`-- operatorApproval
|-- OperatorApproval.java
`-- OperatorApprovalList.java
合约的具体内容太长了,这里就不放出来了,地址:https://github.COM/huajiayi/ERC721-implementation/blob/main/contract-java/src/main/java/org/example/BasicContract.java
需要注意的有几点:
应用程序就简单多了,只有三个文件
.
|-- App.java ------------------------------主程序
|-- EnrollAdmin.java ----------------------注册Admin
`-- RegisterUser.java ---------------------注册User
这里要注意的是,User是由Admin来授权的,所以必须先注册Admin,再注册User。
写这个应用的时候也遇到了一些坑:
@Transaction(intent = Transaction.TYPE.EVALUATE)
public String msgSender(ERC721Context ctx) {
return ctx.getClientIdentity().getId();
}
同样具体内容就不放了,地址:https://github.com/huajiayi/ERC721-implementation/tree/main/application-java/src/main/java/application/java
项目已经上传到GIthub上,有需要的同学可以自行查看:https://github.com/huajiayi/ERC721-implementation
https://linux.cn/article-11328-1.html https://github.com/ethereum/eiPs/blob/master/EIPS/eip-721.md https://hyperledger-fabric.readthedocs.io/en/latest/whatis.html
以上是脚本宝典为你收集整理的基于Hyperledger Fabric实现ERC721全部内容,希望文章能够帮你解决基于Hyperledger Fabric实现ERC721所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。