蚂蚁区块链使用搭建方法

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

1准备工作

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

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

1.2申请AccessKey和access-id

蚂蚁区块链使用搭建方法_第1张图片

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

生成access-id: dQ5yMLO1OEBECIRY

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

蚂蚁区块链使用搭建方法_第2张图片

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

1.3.1创建链上用户

输入账户名称:mikepony0820

生成租户KmsKeyId:ma69jcz6OEBECIRY1592531431813

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

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

蚂蚁区块链使用搭建方法_第3张图片

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
蚂蚁区块链使用搭建方法_第4张图片

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

蚂蚁区块链使用搭建方法_第5张图片

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中的全局变量

蚂蚁区块链使用搭建方法_第6张图片

全局变量 全局变量意义 值的来源
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),并选择空工程
蚂蚁区块链使用搭建方法_第7张图片

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选择默认开放链

蚂蚁区块链使用搭建方法_第8张图片

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

蚂蚁区块链使用搭建方法_第9张图片

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

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或者网站查询相关情况,体现了区块链得溯源性
蚂蚁区块链使用搭建方法_第10张图片

你可能感兴趣的:(蚂蚁开放链,区块链)