合约管理
简介
用户可以在合约管理页中查看和管理通过合约编辑器部署的用户合约和平台提供的基础库合约。合约分为公有合约和私有合约,其中平台基础库合约部署后为公有合约。
基础库部署
进入合约管理页,点击【基础库部署】,会展示出平台提供的基础合约列表,包括基于角色权限访问的RBAC合约、生成随机数的Randomness合约、Array数组合约等。 选择需要部署的基础合约,点击【部署】。部署成功后返回合约管理页,在公有合约中可以看到刚部署的基础合约。
自定义合约部署
用户可通过Quorum合约编辑器cakeshop部署自定义合约,点击节点管理-智能合约编辑器,即可进入cakeshop合约编辑界面,其中左边为合约编辑区,右边为操作区,如果想部署隐私合约,图中private for字段需要填写隐私合约参与方的隐私合约交易地址,每个地址占一行,隐私合约交易地址可在节点管理界面获取
下图可查看合约实时编译结果
下图演示部署成功之后调用合约方法
合约详情查看
在合约管理页中,点击需要查看的合约名称,会跳转到该合约的详情页面。 详情页面包含的合约信息有:
- 基本信息
- 合约简介
- ABI
- 合约源码
合约网关
合约网关是构建在Quorum联盟网络之上智能合约调用中间层,提供强一致的Nonce管理;合约方法编码、签名与解码;链上日志检索;事件订阅等服务。使用RESTful API设计方便开发者将区块链服务集成到自身业务中。
合约API
合约API为合约网关API调用方式,在“合约管理”界面右上角有“合约API”按钮,点击后弹出对话框,提示合约API相关信息,包括:
- Username,合约网关API调用采用Basic Auth认证方式,Username为认证用户名。
- Password,认证密码。
- API Host,合约网关API调用域名地址。
点击“查看相关文档”,会跳转到合约网关的API文档地址中。文档地址
API在线调用
API在线调用是合约网关提供的swagger OpenAPI服务,可以对合约进行在线调用。
1.在“合约详情”页面中,点击右上角的“API在线调用”,弹出提示框。
- 点击“确认”后跳转到输入弹出框提示的用户名和密码,进入到在线调用页面。如下图为合约网关可调用和执行的“SimpleStorage”合约相关方法。
其中:
- TX,表示交易相关接口调用,如调用“SimpleStorage”合约中的get方法、set方法和storedData变量以及根据txId(交易Hash)获取交易结果。
- Event,表示事件相关接口调用,如GET请求类型获取已订阅的事件、POST请求类型发起事件订阅、DELETE请求类型删除已订阅事件。
-
LOG,根据合约中的Event方法检索历史日志。
3.调用SimpleStorage合约中的“set”方法,可根据请求“body”中的“Model”查看请求参数说明,填写必填参数,如下图示例中填写了请求的账户地址from、请求的账户私钥privateKey、合约方法参数invokeParameters中的x值。点击“Execute”执行调用,调用结果在“Responses”中可见。
合约删除
在合约管理页中,点击【删除**合约】即可删除已部署的公有合约或私有合约,删除后该合约将不能访问。