Meteor

在metamask中呼叫沒有確認的流星函式

  • March 14, 2022

我正在從事大學項目,這是我需要你幫助的唯一也是最後一點。我想自動呼叫流星中的狀態更改函式,而無需在元遮罩中送出確認。因此,我閱讀了有關使用 ethereumjs-tx 的資訊,但我不知道如何簽署方法呼叫以使此智能合約方法自動執行。懇求我在任何地方都找不到答案:我的腳本中的目前程式碼:

global.Buffer||require("buffer").Buffer;
const EthereumTx = require('ethereumjs-tx')
const privateKey = Buffer.from('my private key', 'hex')
const txParams = {
 nonce: '0x00',
 gasPrice: '0x09184e72a000', 
 gasLimit: '0x2710',
 to: contractAdress, 
 value: '0x00', 
 data: contractdata,
 // EIP 155 chainId - mainnet: 1, ropsten: 3
 chainId: 3
}
const tx = new EthereumTx(txParams)
tx.sign(privateKey)
const serializedTx = tx.serialize()

方法呼叫看起來如何,像這樣? myContractInstance.setFinised(true, what to insert here?, function(err, res){});

web3.eth.sendRawTransaction(serializedTx.toString('hex'), 
function(err, hash) {
 if (!err)
 console.log(hash);
});

在這裡你會找到如何做到這一點的例子: https ://github.com/ethereum/wiki/wiki/JavaScript-API#web3ethsendrawtransaction

不是這樣,但您可以通過 在此處輸入圖像描述 const txParams = { data: HERE, // EIP 155 chainId - mainnet: 1, ropsten: 3 chainId: 3等數據呼叫函式

然後打電話

web3.eth.sendRawTransaction(‘0x’ + serializedTx.toString(‘hex’), function(err, hash) { if (!err) console.log(hash); // “0x7f9fade1c0d57a7af66ab4ead79fade1c0d57a7af66ab4ead7c2c2eb7b11a91385” });

引用自:https://ethereum.stackexchange.com/questions/27679