ethereum - Ropsten 测试网络的 Solidity - 未捕获的错误:无效地址
问题描述
我正在关注 d-apps 的一些教程,教程的链接在这里:https ://www.youtube.com/watch?v=KkZ6iYnSDRw
我尝试使用 Ropsten 网络将我的前端脚本与 metamask 连接起来。
我做错了什么?
加载页面时,应在 HTML 文件中显示的变量(HTML 文件没有任何问题)显示没有问题。但是,在我单击按钮触发更改该变量名称的函数后,控制台中出现以下错误:
未捕获的错误:地址无效
在 v (web3.min.js:2)
在 l (web3.min.js:2)
在 web3.min.js:2 在 Array.map ()
在 i.formatInput (web3.min.js:2)
在 i.toPayload (web3.min.js:2) 在 re [as sendTransaction] (web3.min.js:2)
在 c.sendTransaction (web3.min.js:2)
在 c.execute (web3.min.js:2)
在 HTMLFormElement。((指数):125)
if (typeof web3 !== 'undefined') {
web3 = new Web3(web3.currentProvider);
} else {
web3 = new Web3(new Web3.providers.HttpProvider (MY_INFURA_API));
}
console.log("web3 is:",web3)
// Set Account
web3.eth.defaultAccount = web3.eth.accounts[0];
// Set Contract Abi
var contractAbi = [
{
"constant": true,
"inputs": [],
"name": "candidateName",
"outputs": [
{
"name": "",
"type": "string"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_name",
"type": "string"
}
],
"name": "setCandidate",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "constructor"
}
]
// Add Your Contract ABI here!!!
// Set Contract Address
// for ropston
var contractAddress = // Add Your Contract address here!!!
// Set the Contract
var contract = web3.eth.contract(contractAbi).at(contractAddress);
// Display Candidate Name
contract.candidateName(function(err, candidateName) {
$('#candidateName').html(candidateName);
});
// Change the Candidate Name
$('form').on('submit', function(event) {
event.preventDefault();
console.log(contract)
contract.setCandidate($('input').val());
})
更新:我意识到我很粗心,将地址放入变量“web3.eth.defaultAccount”后,无效地址问题似乎得到了解决。但是,我收到如下所示的错误。
解决方案
推荐阅读
- c# - Unity3d中使用MySQL,填充数据表
- ios - 如何在 iOS 10+ 中更换设备旋转的渐变背景
- c++-winrt - 如何返回数组 asyc,在 C++/WinRT 中编写 Windows 运行时组件
- android - ARCore 非常不稳定地检测图像
- python - 如何用特殊字符python替换字符串列表中的完全匹配?
- python - 带有容差参数的 Pandas merge_asof 失败
- laravel - Eloquent ORM 获取最新项目查询
- sql-server - 将具有多个联系人的帐户显示为单独的列而不是行?
- android - Android后退按钮的用途,是确定还是取消?
- khan-academy - 如何通过可汗学院 API 选择视频中的语言?