2017-08-22 18 views
0

私の質問は簡単ではないかもしれませんが、私は答えを見つけることができませんでした。 基本的に私は、強固な文書から、トリュフに加えられた簡単な契約を結んでいます。 私は、標準ローカルホスト上で実行testRPCに後で、トリュフ3.59とtestRPC 4.0.1testRPCで簡単な通貨送信

pragma solidity ^0.4.0; 
 

 
contract Coin { 
 
    // The keyword "public" makes those variables 
 
    // readable from outside. 
 
    address public minter; 
 
    mapping (address => uint) public balances; 
 

 
    // Events allow light clients to react on 
 
    // changes efficiently. 
 
    event Sent(address from, address to, uint amount); 
 

 
    // This is the constructor whose code is 
 
    // run only when the contract is created. 
 
    function Coin() { 
 
     minter = msg.sender; 
 
    } 
 

 
    function mint(address receiver, uint amount) { 
 
     if (msg.sender != minter) return; 
 
     balances[receiver] += amount; 
 
    } 
 

 
    function send(address receiver, uint amount) { 
 
     if (balances[msg.sender] < amount) return; 
 
     balances[msg.sender] -= amount; 
 
     balances[receiver] += amount; 
 
     Sent(msg.sender, receiver, amount); 
 
    } 
 
}
契約をだ

を使用しています:8545。 その後、トリュフルのコンパイル、マイグレーション、デプロイ、すべてうまく動作します。私はトリュフコンソールに行きました。そして今、testRPCによってデフォルトで生成されたコインを別のアカウントに転送する方法を教えてください。

その他の質問! testRPCにある勘定残高を確認する方法。

乾杯!

答えて

0

あなたは2つの異なるものを混在させていると思います。あなたが質問したところから、tokenetherだと思います。実際には、エーテルは取引や運営に燃料を供給するために使用される主な仕組みであるエーテルで異なって扱われます。例えば、トークンの場合のように、薄い空気からエーテルを作り出すことはできません。

TestRPCは、デフォルトで起動すると、すべてのアカウントに100個のEther(NOT TOKENS)を与えます!スマート契約を展開すると(別のデフォルトユーザーが指定されていない限り)、truffleはtestrpcのアカウント[0]を主なデプロイヤーとして使用します。

truffle deployを実行して契約が締結されています。あなたが契約を見れば今、あなたは、コンストラクタ関数

function Coin() { 
    minter = msg.sender; 
} 

これはtestRPCにミンターをアカウント[0]最初のアカウントを作成しています。 minorはaccount [0]を使って細い空気からトークンを作成することができます。指定したアドレスにトークンを追加することができます。あなたは[1]のアカウントを指定ミント関数を呼び出すと、あなたが与えたいどのように多くのトークン[1]

function mint(address receiver, uint amount) { 
    if (msg.sender != minter) return; 
    balances[receiver] += amount; 
} 

のは、あなたがアカウントにいくつかの「newbe」トークンを与えたいとしましょう。 [1] 100個のトークン

を有するコンソールとその完了のアカウントで機能を実行しますが、[1]はどのくらいのバランスのアカウントを知りたい場合は、これは、いずれかによって公にaccssesedすることができ

mapping (address => uint) public balances; 

を確認することができますあなたは簡単に contractInsance.balances[account[1]];を実行することができますし、どのくらいのアカウント[1]か任意のアドレスを取得します。

ポイントを逃した場合や何かがクリアでない場合は、私にコメントをしてください

関連する問題