售前客服二维码
文章均源于网络收集编辑侵删
提示:仅接受技术开发咨询!
一、编写智能合约代码地狱世界,走,走语言实现,代码很简单,每个合约包含两个方法初始化、调用。
包装主体
导入(
" 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 .打印(开始错误(
{}
{}
二、将代码文件夹拷贝到织物样品下面的链码文件夹
三、进入到fabric-samples/chain code-docker-dev mode,启动网络
简单。YAML站起来
四、新开一个终端,编译链码,并启动
docker exec -it chaincode bash
cd hello/
去建造
CORE _ PEER _ ADdress=PEER :7052 CORE _ CHINCODE _ ID _ NAME=my cc :0 ./你好
五、新开一个终端,进入码头工人容器,操作链码
docker exec -it cli bash
安装链码
对等链码安装-p链码开发/链码/hello -n mycc -v 0
实例化链码
对等链代码实例化-n mycc-v 0-C"{ Args ' :[' str ',' hello world ']}"-C myc
查询链码
对等链码查询-n mycc-C"{ Args ' :[' get ',' str ']}"-C myc
修改链码
对等链码调用-n mycc-C"{ Args ' :[' set ',' str ',' NewHelloworld ']}"-C myc
再次查询
至此,第一个智能合约演示完成了。
文章均源于网络收集编辑侵删
提示:仅接受技术开发咨询!