蚂蚁开放联盟链搭建和使用方法

1准备工作

1.1访问蚂蚁开放联盟链,并使用支付宝账号登录

https://auth.cloud.alipay.com/#/cloudauth/login?goto=https:%2F%2Fopenchain.cloud.alipay.com%2F

1.2申请AccessKey和access-id

生成相应的文件access.key文件作为私钥,必须妥善保管

生成access-id: dQ5yMLO1OEBECIRY

****在 导航栏-证书及开发组件 中可查询

1.3选择开发语言(以GO语言为例)

1.3.1创建链上用户

输入账户名称:mikepony0820

生成租户KmsKeyId:ma69jcz6OEBECIRY1592531431813

1.3.2给账号分配“燃料”,在 导航栏-燃料管理 中可查询

初始系统会赠送10,000,000汽油费,将十分之一分配给链上账户

2.GO工程Demo下载与配置

2.1下载GoSDK,文件保存为restclient-go-sdk.zip

https://baas-market-repo-prod.oss-cn-shanghai.aliyuncs.com/openchain/restclient-go-sdk.zip

2.2配置sdk环境

将压缩文件拷贝至$GOPATH/src/gitlab.alipay-inc.com/antchain文件夹下(如果没有需要自己创建对应文件夹路径),解压restclient-go-sdk.zip

2.3下载GO Demo工程

https://baas-market-repo-prod.oss-cn-shanghai.aliyuncs.com/openchain/GoProject.zip

2.4GO Demo工程配置文件

2.4.1 将1.2中生成的access.key替换项目中access.key

2.4.2配置rest-config.json文件

{"RestUrl": "https://rest.baas.alipay.com","AccessId": "dQ5yMLO1OEBECIRY",//采用1.2中生成的access-id"AccessSecret": "./access.key",//使用私钥的路径,建议使用相对路径"MaxIdleConns": 10,"IdleConnTimeout": 30,"RetryMaxAttempts": 5,//合约调用时错误的重试次数"BackOffPeriod": 1000
}

2.4.3配置demo.go中的全局变量

全局变量 全局变量意义 值的来源
RestBizTestBizID 链ID 见智能合约3.3.1中的选择链id
RestBizTestAccount 账户名 1.3.1账户名称
RestBizTestKmsID 账户id 1.3.1生成租户KmsKeyId
RestBizTestTenantID 租约ID https://admin.cloud.alipay.com/?tenantName=OEBECIRY#/accountsinfo? 租户信息-租户id
DeployBit 部署合约内容 见智能合约3.3.2中字节码

3.智能合约相关开发

3.1合约创建

创建合约工程后填写“合约工程名”和“合约类型”(这里选择Solidity),并选择空工程

3.2编写合约,这里使用已经编写完成的合约做测试

pragma solidity >0.4.20 <0.5.0;contract SimpleStorage{uint64 myData;function setData(uint64 newData) public{myData = newData;}function getData() public view returns(uint64){return myData;}function pureAdd(uint64 a,uint64 b)public pure returns(uint64,uint64){return (a+b,a);}
}

3.3选择开放链并编译

3.3.1选择默认开放链

3.3.2编译并记录相应的字节码

字节码代替了智能合约的所有信息用于后期部署和调用

4.GO工程运行

demo中提供了5个功能https://tech.antfin.com/docs/2/160376#h3-u67E5u8BE2u56DEu6267

功能名 功能作用
TestDeposit 异步存证
TestDepositSyncWithTransaction 同步存证
TestQueryTransaction 查询交易
TestQueryReceipt 回执查询
TestDeployContractAndCallContract 部署和调用合约

4.1重点讨论部署和调用合约几个坑:

  • contractname必须保持唯一性,与已部署在开放链上的contractname可使用uuid配置对应名称

  • orderid部署和调用时必须保持不一致

  • 调用函数restclient.CallContract(…,methodSignature,inputparamlist,outTypes,…)

    • methodSignature必须保持和3.2.1中智能合约的函数名称一致例如:“pureAdd(uint64,uint64)”
    • inputparamlist必须采用json列表的方式输入,并且输入必须为string类型,json对象得输入会造成500错误
    • outTypes必须和3.2.1中智能合约返回值一致,例如:

5.补充

5.1在部署成功之后系统会反馈交易hash,可以利用支付宝app或者网站查询相关情况,体现了区块链得溯源性

蚂蚁区块链使用搭建方法相关推荐

  1. 蚂蚁区块链-CONFIDE-ACM SIGMOD 20

    论文名称:<Confidentiality Support over Financial Grade Consortium Blockchain> 论文地址:https://dl.acm. ...

  2. 蚂蚁区块链第13课 如何搭建一个DAPP应用(以姓名年龄为例)

    1,摘要 本文介绍如何使用Cloud IDE完成name-age智能合约的编译,获取其ABI和二进制码信息. 接着,本文介绍基于EXPRESS框架搭建的前端页面,完成已部署智能合约的调用,完成了相关功 ...

  3. 蚂蚁区块链第9课 SSL/TLS工作原理及在蚂蚁BAAS中的应用

    1,摘要 辉哥在学习蚂蚁BAAS系统时,发现了一堆证书或者公私钥名称,包括trustCa,ca.crt,client.crt,client.key,pub.txt,MyPKCS12.p12等等文件,不 ...

  4. 这18节课手把手教会你入门蚂蚁区块链BAAS系统开发

    1,摘要 蚂蚁区块链创新大赛正在如火如荼的进行中,这次蚂蚁区块链创新大赛奖金丰厚,获奖者权益多多.那么,对于一个区块链团队来说,如何快速了解蚂蚁BAAS系统的能力,开发环境以及接口是一件很重要的事情. ...

  5. 【问链财经-区块链基础知识系列】 第四十七课 蚂蚁区块链的布局和打法

    近日,一年一度的云栖大会在杭州云栖小镇举行,"区块链"再度成为热词. 在9月24日的蚂蚁金服投资者日上,蚂蚁区块链已经成为蚂蚁金服董事长兼CEO井贤栋口中的"后天&quo ...

  6. 蚂蚁区块链BaaS:开放在云端,落地于实体

    自 2018 年 6 月上线以来,蚂蚁区块链 BaaS 不断在技术上实现突破,形成自身独特的优势,并做为行业领军者在不同领域的几十个场景实现落地.在区块链的商用时代加速到来之际,通过开放自身的技术体系 ...

  7. 蚂蚁区块链BaaS平台应用开发指南(四):JavaSDK的接入

    在尝试本节的样例代码前,需要保证目标智能合约已经按照蚂蚁区块链BaaS平台应用开发指南(三):从一个简单合约开始中的做法编译部署成功. 基于JavaSDK的接入 在上一节里,我们通过Cloud IDE ...

  8. 蚂蚁区块链BaaS平台应用开发指南(一):前言

    前言 2018年疯狂的币市把区块链技术推到了风口浪尖,随着潮水的退去,越来越多的技术人和市场开始沉淀到实际的问题上.如何利用区块链技术带来的新特性(去中心,可追溯,不可篡改等)去解决现实世界的实际需求 ...

  9. 蚂蚁区块链第15课 JS SDK概述及API接口速查

    1,摘要 本文讲解蚂蚁BAAS的JavaScript SDK概述,说明JS SDK对应的API接口速查.其他语言包SDK参考官网其他章节说明即可. 2,JS SDK 说明 JavaScript SDK ...

  10. 蚂蚁区块链平台BaaS技术解析与实践

    摘要: 以"数字金融新原力(The New Force of Digital Finance)"为主题,蚂蚁金服ATEC城市峰会于2019年1月4日在上海如期举办.在ATEC区块链 ...

最新文章

  1. 机器学习知识点(三十六)分类器性能度量指标f1-score
  2. Quartus16.0如何使用TCL脚本
  3. vue2中的keep-alive使用总结及注意事项
  4. java 中sub,Fn :: Sub中的嵌套Fn :: ImportValue不适用于SAM模板
  5. 602. Friend Requests II: Who Has Most Friend?
  6. jQuery数据与Attr?
  7. 「docker实战篇」python的docker爬虫技术-在linux下mitmproxy介绍和安装(四)
  8. unity物体挂leap交互脚本后在另一个相机视野中看不见问题的解决
  9. 专利申请模板(技术交底书)
  10. 《HelloGitHub》第 73 期
  11. 如何批量调节图片对比度?
  12. 一位高速交警的救命忠告!常跑高速的一定要看!
  13. 冬瓜哥送你元宵大礼盒啦!!
  14. 寒江独钓第3章——串口过滤
  15. 图库/相册/播放器看不到迅雷下载的视频的解决办法
  16. 记录VS2015编译cuda11+opencv库遇到的问题
  17. MySQL错误reading initial communication packet解决办法
  18. compatible
  19. 远程桌面提示CredSSP加密数据库修正
  20. Nature:益生菌清除致病菌的机制

热门文章

  1. 2019年安徽百所高校百万大学生科普创意创新大赛作品
  2. 彩色星球科技旗下娱乐元宇宙产品“彩色世界”正式上线;GIGABYTE推出新一代AORUS专业电竞笔电 | 全球TMT...
  3. Microservice Patterns 下载
  4. char * 与char []区别总结
  5. 寒霜朋克计算机丢失,寒霜朋克无法启动运行解决方法 寒霜朋克不能运行怎么办?...
  6. 图书里的音频二维码如何实现呢?
  7. 深圳车牌识别助力汽车检测,颠覆传统方式
  8. 科学计数法(PAT)
  9. 04741<计算机网络原理> 之第二章 网络应用
  10. 传输层安全协议TLS/SSL