2016-07-19 6 views
1

견습에 대한 새로운면과 견고 함을 얻기 위해 solidity 온라인 IDE와 geth dev 모드를 사용하여 contrcts를 배포하기 시작했습니다. 내 문제는 내가 그것을 할 몇 가지 방법을 시도했지만 아무것도 실제로 작동하지 않는 것 같습니다."트랜잭션 처리기"스마트 계약 만들기

코드 : 나는 또한 내가 예상대로도 작동하지 않습니다하지만 견고 튜토리얼의 계약을 시도

contract Transaction { 
    address public owner; 
    mapping (address => uint) public balances; 

    function Transaction() { 
     owner = msg.sender; 
    } 

    function validateTransaction (address receiver, uint amount) constant returns (bool) { 
    if (balances[owner] < amount || owner == receiver || amount == 0) 
     return (false); 
    balances[owner] -= msg.value; 
    return (true); 
    } 

    function transact (address receiver, uint amount) { 
    if (!validateTransaction(receiver, amount)) 
     return ; 
    balances[receiver] += msg.value; 
    } 

    function remove() { 
     if (msg.sender == owner) 
     selfdestruct(owner); 
    } 
} 

: 난 그냥 스마트 계약을 체결하려고

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

그 발신자와 수신자간에 거래가 가능하지만 계정 잔액은 이동하지 않습니다. 그 기능은 견고성이 어떻게 작용 하는지를 배우기 위해서만 추상적 인 것입니까, 아니면 이것이 실제로 저울을 변화시킬 수 있습니까? 답변 주셔서 감사합니다 :)

답변

1

견고성을 더 깊이 조사하고 작업 한 후에 실제로이 계약서는 추상 거래를 HIS 데이터로 만듭니다. 그래서 에테르는 제대로 전달되지 않고 균형 변수는이 계약의 지역 변수입니다.