蚂蚁区块链使用搭建方法
蚂蚁开放联盟链搭建和使用方法
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或者网站查询相关情况,体现了区块链得溯源性
蚂蚁区块链使用搭建方法相关推荐
- 蚂蚁区块链-CONFIDE-ACM SIGMOD 20
论文名称:<Confidentiality Support over Financial Grade Consortium Blockchain> 论文地址:https://dl.acm. ...
- 蚂蚁区块链第13课 如何搭建一个DAPP应用(以姓名年龄为例)
1,摘要 本文介绍如何使用Cloud IDE完成name-age智能合约的编译,获取其ABI和二进制码信息. 接着,本文介绍基于EXPRESS框架搭建的前端页面,完成已部署智能合约的调用,完成了相关功 ...
- 蚂蚁区块链第9课 SSL/TLS工作原理及在蚂蚁BAAS中的应用
1,摘要 辉哥在学习蚂蚁BAAS系统时,发现了一堆证书或者公私钥名称,包括trustCa,ca.crt,client.crt,client.key,pub.txt,MyPKCS12.p12等等文件,不 ...
- 这18节课手把手教会你入门蚂蚁区块链BAAS系统开发
1,摘要 蚂蚁区块链创新大赛正在如火如荼的进行中,这次蚂蚁区块链创新大赛奖金丰厚,获奖者权益多多.那么,对于一个区块链团队来说,如何快速了解蚂蚁BAAS系统的能力,开发环境以及接口是一件很重要的事情. ...
- 【问链财经-区块链基础知识系列】 第四十七课 蚂蚁区块链的布局和打法
近日,一年一度的云栖大会在杭州云栖小镇举行,"区块链"再度成为热词. 在9月24日的蚂蚁金服投资者日上,蚂蚁区块链已经成为蚂蚁金服董事长兼CEO井贤栋口中的"后天&quo ...
- 蚂蚁区块链BaaS:开放在云端,落地于实体
自 2018 年 6 月上线以来,蚂蚁区块链 BaaS 不断在技术上实现突破,形成自身独特的优势,并做为行业领军者在不同领域的几十个场景实现落地.在区块链的商用时代加速到来之际,通过开放自身的技术体系 ...
- 蚂蚁区块链BaaS平台应用开发指南(四):JavaSDK的接入
在尝试本节的样例代码前,需要保证目标智能合约已经按照蚂蚁区块链BaaS平台应用开发指南(三):从一个简单合约开始中的做法编译部署成功. 基于JavaSDK的接入 在上一节里,我们通过Cloud IDE ...
- 蚂蚁区块链BaaS平台应用开发指南(一):前言
前言 2018年疯狂的币市把区块链技术推到了风口浪尖,随着潮水的退去,越来越多的技术人和市场开始沉淀到实际的问题上.如何利用区块链技术带来的新特性(去中心,可追溯,不可篡改等)去解决现实世界的实际需求 ...
- 蚂蚁区块链第15课 JS SDK概述及API接口速查
1,摘要 本文讲解蚂蚁BAAS的JavaScript SDK概述,说明JS SDK对应的API接口速查.其他语言包SDK参考官网其他章节说明即可. 2,JS SDK 说明 JavaScript SDK ...
- 蚂蚁区块链平台BaaS技术解析与实践
摘要: 以"数字金融新原力(The New Force of Digital Finance)"为主题,蚂蚁金服ATEC城市峰会于2019年1月4日在上海如期举办.在ATEC区块链 ...
最新文章
- 机器学习知识点(三十六)分类器性能度量指标f1-score
- Quartus16.0如何使用TCL脚本
- vue2中的keep-alive使用总结及注意事项
- java 中sub,Fn :: Sub中的嵌套Fn :: ImportValue不适用于SAM模板
- 602. Friend Requests II: Who Has Most Friend?
- jQuery数据与Attr?
- 「docker实战篇」python的docker爬虫技术-在linux下mitmproxy介绍和安装(四)
- unity物体挂leap交互脚本后在另一个相机视野中看不见问题的解决
- 专利申请模板(技术交底书)
- 《HelloGitHub》第 73 期
- 如何批量调节图片对比度?
- 一位高速交警的救命忠告!常跑高速的一定要看!
- 冬瓜哥送你元宵大礼盒啦!!
- 寒江独钓第3章——串口过滤
- 图库/相册/播放器看不到迅雷下载的视频的解决办法
- 记录VS2015编译cuda11+opencv库遇到的问题
- MySQL错误reading initial communication packet解决办法
- compatible
- 远程桌面提示CredSSP加密数据库修正
- Nature:益生菌清除致病菌的机制
热门文章
- 2019年安徽百所高校百万大学生科普创意创新大赛作品
- 彩色星球科技旗下娱乐元宇宙产品“彩色世界”正式上线;GIGABYTE推出新一代AORUS专业电竞笔电 | 全球TMT...
- Microservice Patterns 下载
- char * 与char []区别总结
- 寒霜朋克计算机丢失,寒霜朋克无法启动运行解决方法 寒霜朋克不能运行怎么办?...
- 图书里的音频二维码如何实现呢?
- 深圳车牌识别助力汽车检测,颠覆传统方式
- 科学计数法(PAT)
- 04741<计算机网络原理> 之第二章 网络应用
- 传输层安全协议TLS/SSL