前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >关于usdt质押模式系统开发讲解/质押DAPP系统开发合约方案

关于usdt质押模式系统开发讲解/质押DAPP系统开发合约方案

原创
作者头像
开发v_StPv888
发布2023-03-30 14:14:33
4550
发布2023-03-30 14:14:33
举报
文章被收录于专栏:makingmaking

  区块链是一个不可变的记录链,称为块,可促进交Y,有助于跟踪Z产并记录数据和文件,其具有去中心化、不可篡改、全程留痕、集体维护、公开透明等特点,基于这些特点,区块链技术可以开√发出自带信任体系特征的系统,实现多个主体之间的协作信任与一致行动。

  在这次的实战演练中,我们将介绍如何让你的智能合约连接到Twitter API。具体来说,我们将解释如何从智能合约中发出一条推文,但是围绕社交媒体进行数据分析和智能合约的执行所展示出来的可能性却是无限的。

  构造函数

代码语言:javascript
复制
  pragma solidity^0.6.12;

  import"https://github.com/smartcontractkit/chainlink/evm-contracts/src/v0.6/ChainlinkClient.sol";

  contract ChainlinkTwitter is ChainlinkClient{

  address private oracle;

  bytes32 private jobId;

  uint256 private fee;

  uint256 public statusCode;

  //only the contract owner should be able to tweet

  address payable owner;

  modifier onlyOwner{

  require(msg.sender==owner);

  _;

  }

  constructor()public{

  setPublicChainlinkToken();

  oracle=0x4CF0507fe3236DedDbE6cD18508f35D9b5e16e7C;//oracle address

  jobId="948db03c9576480a8fa0545bee5b28ab";//job id

  fee=11*10**17;//1.1 LINK

  owner=msg.sender;

  }

  我们从熟悉的ChainlinkClient导入和继承开始。导入ChainlinkClient合约包含了构建请求、提交给一个或多个Chainlink节点,并接收回复所需的所有功能。只需定义你选择的oracle地址,该节点为其Twitter Job提供的作业规范ID(job spec ID),并定义该节点处理请求所需的费用。此外,我们还定义了onlyOwner修饰符,这样只有创建合约的地址才能通过这个合约发推特。

代码语言:javascript
复制
  Tweet函数

  //tweets the supplied string

  function tweet(string memory twt)public onlyOwner{

  Chainlink.Request memory req=buildChainlinkRequest(jobId,address(this),this.fulfill.selector);

  //req.add("endpoint","https://api.twitter.com/1.1/statuses/update.json");

  req.add("status",twt);

  req.add("copyPath","statusCode")

  sendChainlinkRequestTo(oracle,req,fee);

  }

  //callback function

  function fulfill(bytes32 _requestId,uint256 _statusCode)public recordChainlinkFulfillment(_requestId){

  statusCode=_statusCode;

  }

  构建了合约之后,发推特就非常简单了。tweet函数接收要推送的字符串,创建请求结构体,并将其提交给定义的Chainlink节点。请求结构中需要两个字段:status和copyPath。status,即我们希望发布的推文,在Twitter外部适配器中被定义为一个输入,该节点将运行它来完成这项工作。而copyPath则是所有Chainlink节点支持的默认适配器的一部分,它告诉节点如何解析JSON输出。此外,endpoint可以指定为不同的Twitter端点,具有不同的功能,但适配器默即可发布推文状态,因此目前不需要关心这一参数。

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云区块链服务平台 TBaaS
腾讯云区块链服务平台(Tencent Blockchain as a Service,简称TBaaS)致力于打造全球领先的企业级区块链技术平台,帮助客户、开发者及合作伙伴轻松创建和管理可托管、可扩展的区块链网络,助力产业协同发展。TBaaS 支持长安链·ChainMaker、Hyperledger Fabric等区块链底层平台,简化部署、运维及开发流程,实现业务快速上链,提升链上治理效率。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档