华为云区块链引擎服务 HBS-合约结构

时间:2025-02-12 14:52:37

合约结构

go语言合约即一个Go文件,包含包声明、依赖包导入、智能合约的结构体定义和方法定义。创建好合约文件后就可以进行函数开发等操作。

合约结构中,仅合约结构体可以更改,package名和方法签名不可更改。

合约的结构如下:

package usercontract// 引入必要的包  import (    "git.huawei.com/poissonsearch/wienerchain/contract/docker-container/contract-go/contractapi")  // 声明合约的结构体  type example01 struct {}// 创建合约func NewSmartContract() contractapi.Contract {    return &example01{}}// 合约的初始化(Init)接口。将合约启动时,需要首先执行且只需要执行一次的逻辑放到此方法中。func (e *example01) Init(stub contractapi.ContractStub) ([]byte, error) {    // 编写时可灵活使用stub中的API  }  // 合约被调用(invoke)接口。将主要的合约执行逻辑,放到此方法内,供合约使用者调用。func (e *example01) Invoke(stub contractapi.ContractStub) ([]byte, error) {    // 编写时可灵活使用stub中的API  }  
support.huaweicloud.com/devg-hbs/hbs_devg_05.html