hyperledger fabric 开发第一个智能合约

2020-08-20 19:44 栏目:经验之谈 来源:网络整理 查看()

一、编写智能合约代码地狱世界,走,走语言实现,代码很简单,每个合约包含两个方法初始化、调用。

包装主体

导入(

" fmt "

github。com/hyper ledger/fabric/core/chain code/shim

github。' com/hyper ledger/fabric/protos/peer '

类型地狱世界结构{

{}

函数(t * Helloworld)初始化(存根垫片。链接代码链码ChaincodeStubInterface)对等项。回应{

args:=存根GetStringArgs()

err :=存根PutState(参数[0],[]字节(参数[1])

如果出错!=零{

垫片。错误(错误。错误())

{}

返回垫片。成功(零(

{}

函数调用(存根填补).链接代码链码ChaincodeStubInterface)对等项。回应{

fn,args :=存根GetFunctionAndParameters()

如果fn=='set' {

返回t.set(存根,参数(

{}否则,如果fn=='get'{

返回t.get(存根,参数(

{}

返回垫片。错误("调用fn错误”)

{}

函数(t *Helloworld)集(存根垫片.链码stubbinterface,参数[]字符串)对等项。回应{

err :=存根PutState(参数[0],[]字节(参数[1])

如果出错!=零{

返回垫片。错误(错误。错误())

{}

返回垫片。成功(零(

{}

函数(t *Helloworld)获取(存根垫片.链码stubbinterface,参数[]字符串)对等项。回应{

值,err :=存根GetState(参数[0])

如果出错!=零{

返回垫片。错误(错误。错误())

{}

返回垫片。成功(价值(

{}

func main(){

err :=垫片。开始(新(地狱世界))

如果出错!=零{

fmt .打印(开始错误(

{}

{}

二、将代码文件夹拷贝到织物样品下面的链码文件夹

hyperledger fabric 开发第一个智能合约

三、进入到fabric-samples/chain code-docker-dev mode,启动网络

简单。YAML站起来

四、新开一个终端,编译链码,并启动

docker exec -it chaincode bash

cd hello/

去建造

hyperledger fabric 开发第一个智能合约

CORE _ PEER _ ADdress=PEER :7052 CORE _ CHINCODE _ ID _ NAME=my cc :0 ./你好

hyperledger fabric 开发第一个智能合约

五、新开一个终端,进入码头工人容器,操作链码

docker exec -it cli bash

安装链码

对等链码安装-p链码开发/链码/hello -n mycc -v 0

hyperledger fabric 开发第一个智能合约

实例化链码

对等链代码实例化-n mycc-v 0-C"{ Args ' :[' str ',' hello world ']}"-C myc

hyperledger fabric 开发第一个智能合约

查询链码

对等链码查询-n mycc-C"{ Args ' :[' get ',' str ']}"-C myc

hyperledger fabric 开发第一个智能合约

修改链码

对等链码调用-n mycc-C"{ Args ' :[' set ',' str ',' NewHelloworld ']}"-C myc

hyperledger fabric 开发第一个智能合约

再次查询

hyperledger fabric 开发第一个智能合约

至此,第一个智能合约演示完成了。

微信二维码
售前客服二维码

文章均源于网络收集编辑侵删

提示:仅接受技术开发咨询!

郑重申明:资讯文章为网络收集整理,官方公告以外的资讯内容与本站无关!
NFT开发,NFT交易所开发,DAPP开发 Keywords: NFT开发 NFT交易所开发 DAPP开发