风险提示:理性看待区块链,提高风险意识!
技术指南:如何利用Fabric提供的接口编写链码
首页 > 币界资讯 > 区块链知识 2018-12-25 17:16:00

目标

牢记编写链码所需要的两个重要包

开发链码所必须实现的接口及方法

开发链码文件的基本结构

任务实现

开发链码,离不开 Hyperledger Fabric 提供的 SDK ,为了方便诸多不同的应用场景且使用不同语言的开发人员,Hyperledger Fabric 提供了许多不同的 SDK 来支持各种编程语言。如:

Hyperledger Fabric Node SDK:https://github.com/hyperledger/fabric-sdk-node

Hyperledger Fabric Java SDK:https://github.com/hyperledger/fabric-sdk-java

Hyperledger Fabric Python SDK:https://github.com/hyperledger/fabric-sdk-py

Hyperledger Fabric Go SDK:https://github.com/hyperledger/fabric-sdk-go

在本课程中我们将使用 Golang 进行链码的开发,所以我们应该确定在本系统中有 Hyperledger Fabric 提供的相关API,其它语言的 SDK 我们不在本课程中进行讨论。

如果本地系统中没有相关的API,请执行如下下载命令:

区块链技术QQ交流群:263270946 掌握更多技术干货,关注微信公众号“ChainDesk”

Init 与 Invoke 方法

编写链码,关键是实现 Init 与 Invoke 两个方法,必须由所有链码实现。Fabric 通过调用指定的函数来运行事务。

Init:在链码实例化或升级时被调用, 完成初始化数据的工作。

invoke:更新或查询提案事务中的分类帐本数据状态时,Invoke 方法被调用, 因此响应调用或查询的业务实现逻辑都需要在此方法中编写实现。

在实际开发中,开发人员可以自行定义一个结构体,然后重写 Chaincode 接口的两个方法,并将两个方法指定为自定义结构体的成员方法;具体可参考下一节的内容。

5.1.2 必要结构

依赖包

shim 包为链码提供了 API 用来访问/操作数据状态、事务上下文和调用其他链代码;peer 包提供了链码执行后的响应信息。所以开发链码需要引入如下依赖包:

“github.com/hyperledger/fabric/core/chaincode/shim”

shim 包提供了链码与账本交互的中间层。

链码通过 shim.ChaincodeStub 提供的方法来读取和修改账本的状态。

“github.com/hyperledger/fabric/protos/peer”

peer.Response:封装的响应信息。

一个开发的链码源文件的必要结构如下:

区块链技术QQ交流群:263270946 掌握更多技术干货,关注微信公众号“ChainDesk”

未经授权禁止转载、改编,转载请注明出处!

上一篇: 技术指南 | 链码如何使用:实现对链码的安装、实例化及调用
下一篇: 开发模式下的测试:简化我们对链码的测试过程
推荐专栏
web3首席知识博主
一位相信价值投资的币圈KOL。稳定盈利的缠论野生交易员 #BTC行情分析师 #价值投资 #链上数据分析
爱Web 3,爱生活,爱科技,爱炒币的老韭菜
热门币种
更多
币种
价格
24H涨跌幅
BTC比特币
¥264,723.74
37,091.22 USDT
+0.1%
ETH以太坊
¥14,416.22
2,019.90 USDT
-0.12%
USDT泰达币
¥7.20
1.01 USDT
0%
BNB币安币
¥1,625.40
227.74 USDT
+0.36%
XRP瑞波币
¥4.32
0.60460 USDT
+0.37%
USDC
¥7.14
1.00 USDT
+0.03%
SOLSolana
¥398.85
55.89 USDT
+1.54%
OKBOK币
¥398.61
55.85 USDT
-1.64%
ADA艾达币
¥2.68
0.37580 USDT
-1.16%
DOGE狗狗币
¥0.55160
0.07730 USDT
-1.52%
热搜币种
更多
币种
价格
24H涨跌幅
Terra Classic
¥0.00
9.402E-5 USDT
-18.95%
Gala
¥0.18
0.025374 USDT
-4.66%
dYdX
¥22.58
3.1918 USDT
-0.91%
比特股
¥0.05
0.006964 USDT
+4.28%
PancakeSwap
¥15.52
2.1936 USDT
-2.74%
Conflux
¥1.08
0.1524 USDT
-2.87%
Filecoin
¥31.45
4.4454 USDT
-0.69%
FTX Token
¥29.82
4.2155 USDT
+16.96%
Yield Guild Games
¥2.55
0.3608 USDT
-0.52%
Shiba Inu
¥0.00
8.14E-6 USDT
-2.51%
比特币
¥262,381.44
37091.22 USDT
+0.1%
比原链
¥0.07
0.010011 USDT
-4.38%
最新快讯
更多
汇丰、恒生、渣打、富邦华一四家外资银行入围首批“数字人民币”业务试点名单
2023-11-28 19:06:57
摩根大通和Apollo计划建立代币化“企业主网”
2023-11-28 19:03:57
Nansen2公测版本上线,新增链上数据异动、智能搜索等功能
2023-11-28 18:59:52
西班牙公民需在明年3月底前申报其海外平台上加密货币持仓
2023-11-28 18:53:43
Nansen2已公开测试
2023-11-28 18:53:38
dYdX基金会:主网启动以来超过1645万DYDX被质押
2023-11-28 18:52:07
NicCarter等比特币倡导者发文:比特币挖矿是清洁能源和平衡电网的关键工具
2023-11-28 18:47:58
下载币界网APP