簡體   English   中英

使用 truffle/hdwallet-provider 調用智能合約 function

[英]Calling a smart contract function using truffle/hdwallet-provider

我有一個關於多邊形的合同,我想調用一個寫 function setPrice(uint256 _price)但是當我運行這個代碼時,我得到一個錯誤:

{代碼:-32000,消息:'交易低估'}

智能合約: https://polygonscan.com/address/0x8835c31178f8f3407d4588be49532de1c02c3a04

這是我的代碼:

const Web3 = require("web3");
const WalletProvider  = require("@truffle/hdwallet-provider");
const http = require("http");
const { release } = require("os");
const mysql = require('mysql');


const conn = mysql.createConnection({
  host: "localhost",
  user: "root",
  password: "",
  database:"nft",
});

conn.connect(function(err) {
  if (err) throw err;
  //console.error("Connected!");
});


let provider = new WalletProvider({
  mnemonic: {
    phrase: '*****myWalletPhrase*****'
  },
  providerOrUrl: "https://rpc-mainnet.matic.quiknode.pro/"
});

const web3 = new Web3(provider);

const dexABI ="smartContractAbi";

const contract_address = "0x8835c31178F8f3407d4588Be49532De1c02C3A04";
const contract = new web3.eth.Contract(dexABI, contract_address);

function toFixed(x) {
  // some code
}


http.createServer(async (req, res) => {
  if(req.url != '/favicon.ico')
    {
        try {
            const accounts =  await web3.eth.getAccounts();
            //console.error(accounts);
          
            let user= accounts[6];
            let amount=0;
            conn.query(`SELECT * FROM dollor_rate`, async function(err,result){
                      if (err) return err;
                      console.error("this",result[0].usd_rate);
                      amount=toFixed(result[0].usd_rate).toString();
                      await contract.methods.setPrice(''+amount).send({from:user,gas:21000},function(err1,receipt){
                          if(err1) 
                          console.error("Error==>",err1);
                          else
                          console.error("Erorr1=======",receipt);
                        });
                  });
        } catch (error) {
            console.log(error);
        }
    res.end();
  }
    })  
  .listen(8080);

您為交易提供的汽油費很低。 嘗試增加您在交易中提供的氣體。 這個和這個類似, https://stackoverflow.com/a/67974018/7453857

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM