欢迎光临散文网 会员登陆 & 注册

创客互助公排开发丨创客互助公排系统开发详细技术丨创客互助公排源码部署

2023-02-27 10:36 作者:bili_16249894763  | 我要投稿

  区块头和区块体数据也会被当作输入数据做一次Hash运算,其运算结果会被存储在下一个区块的区块头中,这样任何区块内容的修改都会反映到区块的Hash值上,而区块的Hash值又是下一个区块的输入数据,它又会被当作新区块的数据参与一次新区块的Hash运算,随着时间的推移和交易量的增加,所有的区块会通过保存前一个区块的Hash运算结果的方式组成一条链。


  ==将交易打包成数据块,再将数据块以Hash值的方式组织成链式结构,这就是区块链定义的来源。==由分布在全世界的节点组成,任何人都可以公开查询,但又无法任意修改。


  合约交互代码:


  //SPDX-License-Identifier:MIT


  pragma solidity=0.8.4;


  contract Test{


  uint256 private value;


  function setValue(uint256 _value)public{


  value=_value;需求及功能开发I35设计7O98开发O7I8


  }


  function getValue()public view returns(uint256){


  return value;


  }


  }


  使用web3.js与合约交互


  再有就是通过web3.js的库进行交互


  var fs=require('fs');


  var Web3=require('web3');


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


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


  var web3=new Web3(ethRpcUrl);


  abi=[


  {模式开发:MrsFu123


  "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"


  }


  ]


  address="合约地址"


  pk="钱包私钥"


  main()


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


  .catch(error=>{


  console.error(error);


  process.exit(1);


  });


  async function getValue(){


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


  var value=await contract.methods.getValue().call();


  console.log(value);


  }


  async function setValue(){


  value=123


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


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


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


  gas:3000000,


  to:address,


  data:encodeABI


  },pk);


  console.log(signResult);


  var result=await web3.eth.sendSignedTransaction(signResult.rawTransaction);


  console.log(result);


  }


  async function main(){


  await setValue();


  await getValue();


  }


创客互助公排开发丨创客互助公排系统开发详细技术丨创客互助公排源码部署的评论 (共 条)

分享到微博请遵守国家法律