在我根据我构建的私有链创建令牌后,为什么以太坊帐户的余额仍然为零?

时间:2017-03-08 09:36:11

标签: token blockchain ethereum contract solidity

我使用以太坊官方网站上提供的合同代码,[创建您自己的cryto-currency] [1]在geth控制台的私有链上运行创建高级令牌。 geth的版本是1.5.5,solc的版本是0.4.8。

我的步骤是:

1.初始化我的geth: geth init genesis.json 然后 geth --networkid 42 --nodiscover --maxpeers 0 console

2.检查编译器:*** eth.getCompilers()***返回:solidity

3.我使用在线编译网站[Remix] [2]给我直接部署合同的相对abi和代码。

我输入:

(1)的 ABI = [{ “恒定”:假 “输入”:[{ “名称”: “newSellPrice”, “类型”: “uint256”},...... 复制结果的时间太长;

(2)然后创建合同: multiplyContract = web3.eth.contract(abi)

(3) multiply = multiplyContract.new(10000,“AKING”,2,“AK”,0xf32200730fdaca83f18171015c0be2a6342d46c4,{from:primaryAddress,data:0x + code})

第一个参数表示初始供应,第二个参数表示令牌的名称,第三个表示decimalUnit,第四个表示可以初始提供令牌的地址。

4.检查我的合同是否已部署:

我输入: txpool.status

然后我得到:待定:1

5.我开始挖掘合同:

输入: miner.start() miner.stop()

然后我输入: eth.getBlock(5319)

我发现了这笔交易。

6.与我的合同互动:

输入: MyContract = eth.contract(abi)

然后: myContract = MyContract.at(multiply.address)

  1. 开始挖掘一段时间。
  2. 但是当我输入

    时,整个过程进展顺利

    myContract.balanceOf(0xf32200730fdaca83f18171015c0be2a6342d46c4) (地址是eth.account [0]以及拥有我创建的令牌的地址。我也尝试了其他一些地址,它们都归零了。我还尝试了其他一些表达,如 myContract.balanceOf(eth.accounts [0],{from:eth.accounts [0]}) myContract.balanceOf.sendTransaction(eth.accounts [0],{from:eth.accounts [0]})

    如果我使用: eth.getBalance(eth.accounts [0]) ,它只会返回我帐户中的ethers,这不是我想要看到的。< / p>

    那么,我的流程有什么问题吗?还是有什么重要的错过了?有什么意义?

    整个代码如下:

    window.onload = function() {
    
      document.querySelector('.category-list').addEventListener('click', function(e) {
    
          var id=$(this).attr('id');
          var val=Number(id);
          if(val===NaN){
            console.log(val); 
    
          }
        else{
            currentDiv(val);      
              console.log("Number:"+val);
    
        }
        });
    };
    var slideIndex = 1;
    showDivs(slideIndex);
    
    
    function showDivs(n) {
        $('html, body').animate({scrollTop: '0px'}, 800);
      var i;
      var x = document.getElementsByClassName("timeline");
        console.log("X value:"+x.length);
        console.log("N value:"+n);
      var dots = document.getElementsByClassName("demo");
      if (n > x.length) {slideIndex = 1}    
      if (n < 1) {slideIndex = x.length}
      for (i = 0; i < x.length; i++) {
         x[i].style.display = "none";  
    
      }
      for (i = 0; i < dots.length; i++) {
         dots[i].className = dots[i].className.replace(" btn-warning", "");
      }
      x[slideIndex-1].style.display = "block";  
         console.log("x Array:"+x[slideIndex-1].style.display);
      dots[slideIndex-1].className += " ";
    
    }
    
    });
    

1 个答案:

答案 0 :(得分:0)

将地址括在引号中。

将此myContract.balanceOf(0xf32200730fdaca83f18171015c0be2a6342d46c4)更改为此myContract.balanceOf("0xf32200730fdaca83f18171015c0be2a6342d46c4")