Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 格式错误:地址无效_Javascript_Angularjs_Blockchain_Ethereum_Solidity - Fatal编程技术网

Javascript 格式错误:地址无效

Javascript 格式错误:地址无效,javascript,angularjs,blockchain,ethereum,solidity,Javascript,Angularjs,Blockchain,Ethereum,Solidity,我有个问题。我需要在Javascript中初始化拥有钱包地址的人,然后将其传递给函数Solidity,但是我得到一个关于错误格式的错误 我的JavaScript函数 $scope.myToken = accounts[0]; $scope.initProviders = function(providersAddresses,providersAmount){ alert(providersAddresses); contract.init(providersAddresses,pr

我有个问题。我需要在Javascript中初始化拥有钱包地址的人,然后将其传递给函数Solidity,但是我得到一个关于错误格式的错误

我的JavaScript函数

 $scope.myToken = accounts[0];
 $scope.initProviders = function(providersAddresses,providersAmount){
  alert(providersAddresses);
  contract.init(providersAddresses,providersAmount,$scope.myToken).call();
 };
并调用这个函数

<md-button ng-click="initProviders('0x199fdf564df1d18056ed46724582502fd3ce580a',1)">INIT</md-button>
INIT
和坚固性代码

function init(address[] provAddrs, uint provCount,address mainAcc)
{
    clientAddr = mainAcc;
    for(uint i = 0;i<provCount;i++)
    {
        providers[i].profit = 0;
        providers[i].addr = provAddrs[0];
        provCount++;
    }
}
函数初始化(地址[]provAddrs,uint provCount,地址mainAcc)
{
clientAddr=mainAcc;

对于(uint i=0;i那么,对于您展示的代码来说,契约一开始似乎缺少初始化

var contract = eth.contract([abi])
                     .new([array of params], 
                     {data:'0x...', from:[address], gas:47000, gasPrice: 37891200});
可能您的初始化缺少“发件人:[地址]”属性,这是发送合同时所必需的

我想建议您尝试使用浏览器坚固性来消除此调用的bug,或者在浏览器上使用web3或其他方式调用此构造,此错误被抛出到web3.js:3882…在那里放置一个断点并查看。

欢迎!将有更多的人能够回答此问题。(我会回答,但不知道。)对象“contract”在哪里?函数“init”没有显示它是“contract”对象的一部分。此外,您正在使用Typescript?“address[]”不是有效的Javascript。请显示更多代码,并提供确切的错误。