前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >智能合约DAPP程序搭建流程(系统开发源码)

智能合约DAPP程序搭建流程(系统开发源码)

原创
作者头像
开发v_syn520110
发布2022-10-26 09:24:59
4240
发布2022-10-26 09:24:59
举报
文章被收录于专栏:MMMKAMMMKA

使用CMC工具部署和调用GO智能合约

创建合约

下边是以官方提供的contract_fact存证示例合约为例:

代码语言:javascript
复制
./cmc client contract user create \
--contract-name=contract_fact \
--runtime-type=DOCKER_GO \
--byte-code-path=./testdata/docker-go-demo/contract_fact.7z \
--version=1.0 \
--sdk-conf-path=./testdata/sdk_config.yml \
--admin-key-file-paths=./testdata/crypto-config/wx-org1.chainmaker.org/user/admin1/admin1.tls.key,./testdata/crypto-config/wx-org2.chainmaker.org/user/admin1/admin1.tls.key,./testdata/crypto-config/wx-org3.chainmaker.org/user/admin1/admin1.tls.key,./testdata/crypto-config/wx-org4.chainmaker.org/user/admin1/admin1.tls.key \
--admin-crt-file-paths=./testdata/crypto-config/wx-org1.chainmaker.org/user/admin1/admin1.tls.crt,./testdata/crypto-config/wx-org2.chainmaker.org/user/admin1/admin1.tls.crt,./testdata/crypto-config/wx-org3.chainmaker.org/user/admin1/admin1.tls.crt,./testdata/crypto-config/wx-org4.chainmaker.org/user/admin1/admin1.tls.crt \
--sync-result=true \
--params="{}"

这里可能会出现一个问题就是:请求消息太大,导致部署不成功。错误提示语如下

trying to send message larger than max (6153962 vs. 4194304)

此时需要修改连接配置:testdata/sdk_config.yml里边的rpc_client:

代码语言:javascript
复制
  rpc_client:
    max_receive_message_size: 1000
    max_send_message_size: 1000

把max_send_message_size调大一些。这里还需要提一点就是JAVA SDK 2.2.0版本不支持max_send_message_size配置,算是一个BUG,所以如果尝试使用JAVA SDK部署合约时,发生上边的错误暂时只能改为通过CMC去部署。

调用合约

代码语言:javascript
复制
./cmc client contract user invoke \
--contract-name=contract_fact \
--method=invoke_contract \
--sdk-conf-path=./testdata/sdk_config.yml \
--params="{\"method\":\"save\",\"file_name\":\"name007\",\"file_hash\":\"ab3456df5799b87c77e7f88\",\"time\":\"6543234\"}" \
--sync-result=true

查询合约

代码语言:javascript
复制
./cmc client contract user get \
--contract-name=contract_fact \

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档