2016-11-19 5 views
1

문제가 있습니다. Javascript에서 지갑의 주소를 가진 사람을 초기화 한 다음 Solidity 함수에 전달해야하지만 잘못된 형식에 대한 오류가 발생합니다.잘못된 형식 : 잘못된 주소

내 자바 스크립트 함수

$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> 

그리고 견고 코드

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++; 
    } 
} 

을이 함수를 호출하지만 그 후 나는 오류 잘못된 주소

+0

환영합니다! [Ethereum StackExchange] (http://ethereum.stackexchange.com)는 더 많은 사람들이 질문에 대답 할 수 있습니다. (나는 대답 할 것이지만 모르겠다.) – eth

+0

"contract"객체는 어디에 있는가? 함수 "init"은 그것이 "계약"객체의 일부인 방법을 보여주지 않습니다. 또한 Typescript를 사용하고 있습니까? "주소 []"은 (는) 잘못된 자바 스크립트입니다. 더 많은 코드를 보여주고 정확한 오류를 제공하십시오. – SoEzPz

답변

1

음이 나는 당신이 보여준 코드에서 초기에는 계약이 초기화되지 않은 것 같습니다.

var contract = eth.contract([abi]) 
        .new([array of params], 
        {data:'0x...', from:[address], gas:47000, gasPrice: 37891200}); 

어쩌면 당신이 'from : [주소]'속성이 부족하여 계약서를 보낼 때 필요합니다.

나는,이 오류가 web3.js에 발생합니다 브라우저 견고 함과 함께,이 호출을 debbuging 또는 브라우저 또는 뭔가에 web3를 사용하여이 공사를 호출 시도를 추천하고 싶습니다 ... 3882이 중단 점을 넣어 그리고 봐라.