2017-05-03 5 views
1

내가 smartSponsor에 대한 IBM Example을 읽고 있었다,이 다음 코드가 스마트 계약에 보내는 방법 : 함수의 약속이지만에테르 류는 IBM의 예를

personal.unlockAccount(thesponsor,"password"); 
ss.pledge("Good luck with the run!", {from: thesponsor, value: 10000000, gas: 3000000}); 

가 :

function pledge(bytes32 _message) { 
    if (msg.value == 0 || complete || refunded) throw; 
    pledges[numPledges] = Pledge(msg.value, msg.sender, _message); 
    numPledges++; 
} 

struct Pledge { 
    uint amount; 
    address eth_address; 
    bytes32 message; 
} 

나는 "보내기"또는 "전송"기능을 찾고있었습니다. 그러나 나는 아무것도 찾을 수 없었다. 따라서 나는 스폰서로부터 영리 계약으로 에테르가 어떻게 보내 졌는지 혼란 스러웠다.

업데이트 :

어떻게 보낸 사람이 에테르를 보내나요? .transfer (uint256 amount) 또는 .send (uint256 amount)와 같은 것을 기대하고있었습니다. 그러나 그런 함수 호출이없는 것 같습니다.

답변

2

그들은 마법의 변수 msg입니다. 함수 서약에서는이 변수를 다음 줄에 사용합니다.

pledges[numPledges] = Pledge(msg.value, msg.sender, _message); 
+0

그러나 보낸 사람이 에테르를 어떻게 보냈습니까?

.transfer (uint256 amount) 또는
.send (uint256 amount)와 같은 것을 기대하고있었습니다. 그러나 그런 함수 호출이없는 것 같습니다. –

+0

기본 계정이 사용됩니다. – Marcin