dapp互助公排质押挖矿开发详情版丨dapp互助公排质押挖矿系统开发(方案及功能)丨dapp互助公排质押挖矿源码平台

简介:  智能合约是运行在区块链公链上的一种代码,该代码由Solidity编写,并通过区块链的智能合约虚拟机来执行,以达到对区块链编程的目标。可以将区块链公联理解为操作系统,Solidity是编写该操作系统应用程序的编程语言,智能合约虚拟机则是编程语言编译之后的代码运行环境。

  智能合约是运行在区块链公链上的一种代码,该代码由Solidity编写,并通过区块链的智能合约虚拟机来执行,以达到对区块链编程的目标。可以将区块链公联理解为操作系统,Solidity是编写该操作系统应用程序的编程语言,智能合约虚拟机则是编程语言编译之后的代码运行环境。

  var fs=require('fs');

  const fetch=require('node-fetch')

  var Web3=require('web3');

  const ethers=require('ethers');

  const infuraKey=fs.readFileSync("../.infuraKey").toString().trim();

  var ethRpcUrl=https://rinkeby.infura.io/v3/+infuraKey

  var web3=new Web3(ethRpcUrl);

  abi=[

  {

  "inputs":[],

  "name":"getValue",

  "outputs":[

  {

  "internalType":"uint256",

  "name":"",

  "type":"uint256"

  }

  ],

  "stateMutability":"view",

  "type":"function"

  },

  {

  "inputs":[

  {

  "internalType":"uint256",

  "name":"_value",

  "type":"uint256"

  }

  ],

  "name":"setValue",

  "outputs":[],

  "stateMutability":"nonpayable",

  "type":"function"

  }

  ]

  contractAddress="合约地址"

  pk="钱包私钥"

  userAccount="私钥对应的账户地址"

  main()

  .then(()=>process.exit(0))

  .catch(error=>{

  console.error(error);

  process.exit(1);

  });

  async function main(){

  await setValue();

  await getValue();

  }

  async function getNonce(account){

  let nonce=await web3.eth.getTransactionCount(account);

  console.log('nonce=',nonce)

  return nonce;

  }

  async function getValue(){

  //对方法进行sha3编码,然后取前四个字节

  //var methodSign=await web3.utils.keccak256("getValue()").substr(0,10);

  var methodSign=await web3.utils.keccak256("getValue()").substr(0,10);

  //console.log(methodSign)

  data=methodSign;

  //如果有入参,对入参进行编码

  //encodeParams=web3.eth.abi.encodeParameters(['uint256'],[456]);

  //拼接方法名和入参作为jsonrpc的params中的data字段的数据

  //data+=encodeParams.substr(2,encodeParams.length)

  console.log(data)

  //构造post请求的body参数

  var input={"jsonrpc":"2.0","id":3,"method":"eth_call","params":[{"to":contractAddress,"data":data},"latest"]}

  //http可以一次多个请求

  var inputs=[input,input]

  //发送post请求

  const resp=await fetch(ethRpcUrl,{

  method:"POST",

  body:JSON.stringify(inputs),

  headers:{

  "Content-Type":"application/json"

  }

  });

  var rpcResult=await resp.json();

  console.log(rpcResult[0].result)

  //用ethers包中的方法解析返回结果

  var ethersResult=await ethers.utils.defaultAbiCoder.decode(['uint256'],rpcResult[0].result)

  //用web3包中的方法解析防护结果

  var decodeResult=await web3.eth.abi.decodeParameters(['uint256'],rpcResult[0].result);

  console.log("vaule is"+ethersResult)

  console.log("value is"+decodeResult[0])

  }

  async function setValue(){

  //这里借用web3的方法对要发送的内容进行签名

  var contract=new web3.eth.Contract(abi,contractAddress);

  value=456;

  var encodeABI=contract.methods.setValue(value).encodeABI();

  var signResult=await web3.eth.accounts.signTransaction({

  gas:3000000,

  to:contractAddress,

  data:encodeABI,

  nonce:await getNonce(userAccount)

  },pk);

  console.log(signResult);

  rawTransaction=signResult.rawTransaction

  //构造post请求的body参数

  var input={"jsonrpc":"2.0","id":3,"method":"eth_sendRawTransaction","params":[rawTransaction]}

  console.log(input)

  var inputs=[input]

  //发送post请求

  const resp=await fetch(ethRpcUrl,{

  method:"POST",

  body:JSON.stringify(inputs),

  headers:{

  "Content-Type":"application/json"

  }

  });

  var rpcResult=await resp.json();

  console.log(rpcResult)

  }

相关文章
|
8月前
|
存储 安全 区块链
DAPP质押代币项目系统开发/技术分析/源码搭建
Web3.0技术栈中,去信任的交互协议和平台、分布式存储、隐私计算是生态必须率先发展完备的核心技术
|
安全 区块链 数据安全/隐私保护
DeFi流行性挖矿系统开发 | 质押模式挖矿软件平台源码案例
DeFi流行性挖矿系统开发 | 质押模式挖矿软件平台源码案例
|
开发框架 前端开发 安全
云算力质押挖矿系统开发(详细案例)丨云算力质押挖矿系统开发成熟技术/源码流程
云算力质押挖矿系统开发(详细案例)丨云算力质押挖矿系统开发成熟技术/源码流程
|
区块链
DAPP排单公排互助系统开发(成熟技术)|DAPP开发案例
去中心化之前,首先我们得知道,什么是中心化,什么又是去中心化。
|
存储 前端开发 测试技术
众筹互助智能合约系统开发(开发案例)丨dapp智能合约众筹互助丨公排拆分丨系统开发详细规则/成熟技术/方案设计/源码说明
 智能合约互助系统开发是指创建并实现基于智能合约技术的互助系统。智能合约是一种在区块链上执行的自动化计算代码,它可以在事先设定的条件满足时执行相应的操作,无需依赖人工干预。智能合约互助系统旨在通过智能合约技术来优化和自动化互助服务的提供和管理。
|
存储 区块链 数据安全/隐私保护
DAPP链上合约游戏系统开发技术详细丨dapp农场养成种植种树游戏项目系统开发成熟技术/规则详细/源码平台
  DAPP智能合约技术又称之为加密合约技术,是在一定的条件直接控制数字的技术,在各方之间转移的一种计算机程序。智能合约不同于传统的技术方式定义了协议处罚和规则,还定义了自动强制执行的义务。
|
算法 区块链
Defi质押挖矿系统开发源码二开示例
开发一个DeFi质押挖矿系统需要一定的技术知识和经验,如果您有一定的技术基础和开发经验,可以考虑对开源代码进行二次开发。以下是一些可用于DeFi质押挖矿系统二次开发的开源代码:
|
区块链
dapp质押挖矿系统开发设计概述
DApp(去中心化应用)质押挖矿系统是基于区块链技术构建的一种去中心化应用,它结合了质押和挖矿的概念,让用户可以通过质押代币来参与挖矿活动并获得相应的奖励。
|
存储 人工智能 边缘计算
什么是DAPP智能合约系统开发?DAPP智能合约流动性质押挖矿分红逻辑系统开发详情方案及设计
  Web 3.0:指的移动互联网后的下一个阶段的互联网生态,主要是通过区块链等技术手段,实现去中心化的网络形态,实现模拟真实世界感受、打破虚拟、现实边界的互联网;
什么是DAPP智能合约系统开发?DAPP智能合约流动性质押挖矿分红逻辑系统开发详情方案及设计
|
存储 前端开发 JavaScript
dapp/defi智能合约流动性LP质押挖矿系统开发(开发源码案例)丨成熟技术
Dapp:代表去中心化应用程序。它们是在去中心化网络或区块链上运行后端代码(主要用Solidity编写的智能合约)的应用程序。可以使用React、Vue或Angular等前端框架构建Dapp。

热门文章

最新文章

下一篇
开通oss服务