首页 > 其他分享 >阿里区块链开放联盟使用http方式对接

阿里区块链开放联盟使用http方式对接

时间:2023-07-06 17:57:06浏览次数:28  
标签:http string 对接 entity token query new 区块 查询

using (HttpClient httpClient = new HttpClient())
{
/*所有的步骤实例都得进行http请求,当前demo中我的请求放在最后,只是一步一步的流程进行开发*/

SendEntity entity = new SendEntity();

#region 步骤一:调用合约接口,将数据上链操作 成功实现合约调用的列子(目前注释起来了)
//插入数据
//entity.methodSignature = "add(string,string,uint256)";
//entity.inputParamListStr = "[\"X0001\",\"张华\",20]";
//entity.accessId = AccessId;
//entity.contractName = "测试正常简单合约";
//entity.token = token;//来源于区块链签名(可以参考文章:https://www.cnblogs.com/lanyue-ik/p/17513333.html)
//entity.orderId = Guid.NewGuid().ToString("N");
//entity.mykmsKeyId = "M04b7z1687834090709";
//entity.outTypes = "[\"string\"]";
//entity.tenantid = "DQGXEH";
//entity.account = "18161217";
//entity.gas = "21000";
//entity.method = "CALLCONTRACTBIZASYNC";
#endregion

#region 步骤二:根据合约接口查询插入的数据
//查询数据-获取查询数据的data
entity.methodSignature = "select(string)";
entity.inputParamListStr = "[\"X0001\"]";
entity.accessId = AccessId;
entity.contractName = "测试正常简单合约";
entity.token = token;
entity.orderId = Guid.NewGuid().ToString("N");
entity.mykmsKeyId = "M04b7z5GRIXEH1687834090709";
entity.outTypes = "[\"string\",\"uint256\"]";
entity.tenantid = "DQGXEH";
entity.account = "181611217";
entity.gas = "210000";
entity.method = "CALLCONTRACTBIZASYNC";
#endregion

#region 步骤三:将步骤二中查询出来的hash值取出来放到当前请求中;交易查询
//将查询数据请求返回的data传递过来进行交易查询
//QueryEntity query = new QueryEntity();
//query.accessId = AccessId;
//query.hash = "c5196326b784d58901437f8ca91e19c4687124016a40557c634de410df32f";
//query.token = token;
//query.method = "QUERYRECEIPT";
#endregion

#region 步骤四:将不走三中查询出来的out参数传入当前请求进行解密;解析合约返回值
//将交易查询接口获取过来的output参数传入解析接口获取明文
//DesEntity desEntity = new DesEntity();
//desEntity.accessId = AccessId;
//string base64 = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG5byg5Y2OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";
//byte[] bytes = Convert.FromBase64String(base64);
//string temp = BitConverter.ToString(bytes).Replace("-", string.Empty).ToLower();
//desEntity.content = temp;
//desEntity.abi = "[\"string\",\"uint256\"]";
//desEntity.token = token;
#endregion

//发送的内容
HttpContent content = new StringContent(JsonConvert.SerializeObject(entity), Encoding.UTF8, "application/json");
content.Headers.ContentType = new MediaTypeHeaderValue("application/json");

string retstr = httpClient.PostAsync("https://rest.baas.alipay.com/api/contract/chainCallForBiz", content).Result.Content.ReadAsStringAsync().Result;
Console.WriteLine(retstr);
}

标签:http,string,对接,entity,token,query,new,区块,查询
From: https://www.cnblogs.com/lanyue-ik/p/17532888.html

相关文章

  • 2. HTML 进阶之HTTP请求
    1)请求组成请求由三部分组成请求行请求头请求体可以用telnet程序测试2)请求方式与数据格式get请求示例GET/test2?name=%E5%BC%A0&age=20HTTP/1.1Host:localhost%E5%BC%A0是【张】经过URL编码后的结果post请求示例POST/test2HTTP/1.1Host:localho......
  • java http大文件断点续传上传问题
    ​ 这里只写后端的代码,基本的思想就是,前端将文件分片,然后每次访问上传接口的时候,向后端传入参数:当前为第几块文件,和分片总数下面直接贴代码吧,一些难懂的我大部分都加上注释了:上传文件实体类:看得出来,实体类中已经有很多我们需要的功能了,还有实用的属性。如MD5秒传的信息。pub......
  • java中http请求-okhttp使用连接池优化
    愿历尽千帆,归来仍是少年原因:避免频繁频繁的开关连接。1.Maven添加依赖<dependency><groupId>com.squareup.okhttp3</groupId><artifactId>okhttp</artifactId><version>3.10.0</version></dependency>2.OkHttpConfiguration配置类......
  • java http大文件断点续传上传功能
    ​ 我们平时经常做的是上传文件,上传文件夹与上传文件类似,但也有一些不同之处,这次做了上传文件夹就记录下以备后用。这次项目的需求:支持大文件的上传和续传,要求续传支持所有浏览器,包括ie6,ie7,ie8,ie9,Chrome,Firefox,360安全浏览器,并且刷新浏览器后仍然能够续传,重启浏览器(关闭......
  • 常见抓包工具配置抓取HTTPS
    一、wireshark抓取https1.配置SSLKEYLOGFILE环境变量2.关闭Chrome浏览器后重新打开,确认sslkey.log文件已经添加3.配置wireshark  编辑–首选项–protocols–TLS4.开启wireshark抓包 二、Fiddler抓取https 1.Fiddler配置点击Tools>Options>HTTPS,勾选Decry......
  • C# .NET HttpWebRequest 显示指定SSL TLS 版本
    C#.NETHttpWebRequest显示指定SSLTLS版本 在程序启动时加入这段代码:ServicePointManager.SecurityProtocol=SecurityProtocolType.Ssl3|SecurityProtocolType.Tls|SecurityProtocolType.Tls11|SecurityProtocolType.Tls12; ServicePointManager.SecurityProto......
  • Jmeter学习之六_进行https证书处理的工作
    Jmeter进行https证书处理的工作背景继续学习中,想着能够抓取一下https相关的信息所以计划些一下处理过程但是感觉自己这一块比较薄弱.场景设计这一块应该是专业人去搞,我这边先只是简单学习了解一下.创建证书要使用keytool工具创建证书打开终端或命令提示符,并转......
  • aiohttp模块引出_aiohttp+多任务异步协程实现异步爬虫
    1.为什么要用aiohttp模块引出: 2.异步模块aiohttp对比requests基于同步的区别: 3.需要在response.text()前面添加await进行手动挂起: 4.response.text()前面一定要添加await再次运行程序告警取消: 5.异步爬虫get或post中写入的参数: ......
  • 【后端面经-计算机基础】HTTP和TCP的区别
    【后端面经-计算机基础】HTTP和TCP的区别目录【后端面经-计算机基础】HTTP和TCP的区别1.OSI七层模型和相关协议2.TCP协议2.1特点:2.2报文格式2.3三次握手和四次挥手3.HTTP协议3.1特点3.2报文格式3.2https和http4.HTTPvsTCP5.面试模拟参考资料1.OSI七层模型和相关协......
  • 用户列表查询对接后端
    1.找到与后端对接的接口文件现在是每一个方法做一个导出,我们希望每个文件做一个导出。default可以在里面定义多个方法在user.vue引入它我们希望页面一加载就调用一次,写一个构造函数,在构造函数中发起调用created()调用getUserList(),而getUserList()调用刚刚定义的use......