TypeError: contract.test is not a function tronweb nodejs
TypeError: contract.test is not a function tronweb nodejs
我正在尝试使用 Tron-Web 访问部署在 Shasta 测试网络上的 Tron 智能合约。我正在使用 node-casiko 服务器 以下是我的代码:
const TronWeb = require('tronweb')
// This provider is optional, you can just use a url for the nodes instead
const HttpProvider = TronWeb.providers.HttpProvider;
const fullNode = 'https://api.shasta.trongrid.io';
const solidityNode = 'https://api.shasta.trongrid.io';
const eventServer = 'https://api.shasta.trongrid.io';
const privateKey = 'my test account private key';
const tronWeb = new TronWeb(
fullNode,
solidityNode,
eventServer,
privateKey
);
module.exports = {
tmp: async function (req, res, next){
try{
var contract = await tronWeb.trx.getContract("TS71i14jzLawbtu4qPDKEsFERSp6CQb93948");
//res.send(contract)
var result = await contract.test().call();
//res.send(result);
}
catch(err){
console.error(err)
}
}
}
当我使用具有 版本 v10.15.3 的 node 执行此 js 文件时。我得到的错误是:
TypeError: contract.test is not a function
at tmp (/home/administrator/node-Casiko/models/tronContract.js:25:32)
at process._tickCallback (internal/process/next_tick.js:68:7)
如果我打印合同变量,它会打印有关合同的所有信息,但不会调用合同方法。有人可以帮我解决这个问题吗?
好吧,我设法找到了自问的答案。只需更改代码如下。有效!!
module.exports = {
tmp: async function (req, res, next){
try{
var contract = await tronWeb.contract()
.at("TS71i14jzLawbtu4qPDKEsFERSp6CQb93948")
var result = await contract.test().call();
}
catch(err){
console.error(err)
}
}
我正在尝试使用 Tron-Web 访问部署在 Shasta 测试网络上的 Tron 智能合约。我正在使用 node-casiko 服务器 以下是我的代码:
const TronWeb = require('tronweb')
// This provider is optional, you can just use a url for the nodes instead
const HttpProvider = TronWeb.providers.HttpProvider;
const fullNode = 'https://api.shasta.trongrid.io';
const solidityNode = 'https://api.shasta.trongrid.io';
const eventServer = 'https://api.shasta.trongrid.io';
const privateKey = 'my test account private key';
const tronWeb = new TronWeb(
fullNode,
solidityNode,
eventServer,
privateKey
);
module.exports = {
tmp: async function (req, res, next){
try{
var contract = await tronWeb.trx.getContract("TS71i14jzLawbtu4qPDKEsFERSp6CQb93948");
//res.send(contract)
var result = await contract.test().call();
//res.send(result);
}
catch(err){
console.error(err)
}
}
}
当我使用具有 版本 v10.15.3 的 node 执行此 js 文件时。我得到的错误是:
TypeError: contract.test is not a function at tmp (/home/administrator/node-Casiko/models/tronContract.js:25:32) at process._tickCallback (internal/process/next_tick.js:68:7)
如果我打印合同变量,它会打印有关合同的所有信息,但不会调用合同方法。有人可以帮我解决这个问题吗?
好吧,我设法找到了自问的答案。只需更改代码如下。有效!!
module.exports = {
tmp: async function (req, res, next){
try{
var contract = await tronWeb.contract()
.at("TS71i14jzLawbtu4qPDKEsFERSp6CQb93948")
var result = await contract.test().call();
}
catch(err){
console.error(err)
}
}