前情提要
虽然可以搭建2的网络,但是教程较少,很多网上的教程都还是1.4的,就算有2的教程也因为大家从1过来的,导致信息很少,坑比较多。所以为了快速进入链码开发,我还是走老路吧,教程多,把2作为后续升级过程。
链码教程搜到的1.4的十分多,所以应该可以很快学会。开始吧!
开始
思路:先来搜博客,然后再看官方。
再提一下,https://www.jianshu.com/p/813621eff343,这个博客是简洁明了的1.4网络搭建的范本,非常推荐。
两个东西:
- go语言项目的基本流程
- fabric chaincode包的调用
https://www.bilibili.com/video/BV1a4411X7Z1
chaincode/shim 智能合约的go包
fabric-ca-client, fbaric-client,app SDK的包
shim 包提供了如下几种类型的接口:
① 参数解析 API:调用链码时需要给被调用的目标函数/方法传递参数,该 API 提供解析这些参数的方法;
② 账本状态数据操作 API:该 API 提供了对账本数据状态进行操作的方法,包括对状态数据的查询及事务处理等;
③ 交易信息获取 API:获取提交的交易信息的相关 API;
④ 对 PrivateData 操作的 API: Hyperledger Fabric 在 1.2.0 版本中新增的对私有数据操作的相关 API;
⑤ 其他 API:其他的 API,包括事件设置、调用其他链码操作
这里有个例子照着做一下:
https://www.jianshu.com/p/940b003aa02e
2版本的fabric API有一个不相容的标签,还是用1.4做尝试:
在2中配套的是下面这个:
可以看到时间,是非常新的。所以还是暂时用1.4
例子的话https://blog.csdn.net/weixin_43107949/article/details/109350623写的很好了,不多说。
写好之后,我用的就是之前搭好的网络,注意参数要指定成自己的。
另外,我使用的是go14,但是1.4版本中给的例子都是单个的go文件,不是通过go mod管理的项目。这里我自己按照go mod管理,学习了一下使用方法。链码同样可以部署成功。

hellocc就是链码文件。这里附上一个我总结的步骤吧,其实也参考了很多,但是忘记记下来链接了。
go mod tidy 根据 go.mod 文件来处理依赖关系
go mod vendor 从mod中拷贝到项目的vendor目录下,这样VScode之类的IDE就可以识别代码了
----------------------------------------------------------------------------------------------
1. 创建文件夹
2. 运行 go mod init 包名。得到一个项目包
3. 写main.go文件
4. 运行go run main.go,自动运行go mod下载依赖
5. 创建vendor目录,运行go mod vendor
6. 中间运行go mod vendor, go mod tidy 清除无用的包,引入新的包
接下来要学习学习调试。
参考
- https://blog.csdn.net/weixin_43468183/article/details/109031052
- https://blog.csdn.net/weixin_43107949/article/details/109350623
本文档详细介绍了如何使用Hyperledger Fabric 1.4进行链码开发,由于2.0版本教程较少且存在兼容性问题,作者选择沿用1.4版本进行学习。教程中提到了1.4版本网络搭建的简洁教程,并列举了链码开发的关键步骤,包括Go语言项目的基本流程、fabricchaincode包的调用、智能合约的Go包使用等。此外,还分享了如何使用Go模块(Go mod)管理链码项目,以及调试链码的参考资料。
1011

被折叠的 条评论
为什么被折叠?



