You are viewing a single comment's thread from:

RE: # 37 - 이더리움 백서(6편)

in #kr6 years ago

‘메시지는 외부 실행자가 아닌 컨트랙트에 의해 생성된다는 점을 제외하면 트랜잭션과 매우 유사합니다’ 라고 하셨는데, 그렇다면 메시지와 트랜잭션은 별개의 것인가요?
이더리움 옐로우페이퍼에는
‘Message: Data (as a set of bytes) and Value (specified as Ether) that is passed between two Accounts, either through the deterministic operation of an Autonomous Object or the cryptographically secure signature of the Transaction.’
이라고 메시지에 대해 정의하고 있습니다. 이 정의에 따르면 메시지는 트랜잭션을 통해 주고받아지는 데이터 또는 밸류라고 생각됩니다. 어떻게 생각하시나요?

Sort:  

Transaction : 외부 소유 어카운트가 보낼 메시지를 가지고 있는 서명된 데이터 패키지

필드 : 수신처, 서명, 이더, 데이터, STARTGAS, GASPRICE

메시지 : 계약은 다른 계약에게 "메시지"를 전달할 수 있다. 이는 가상 오브젝트로 별도로 저장되지 않는다. 메시지는 수행을 하고 있는 계약이 메시지 생성을 지시하는 CALL 명령을 만나게되면 생성된다.

필드 : 발신처, 수신처, 이더, 데이터, STARTGAS

답변 감사드립니다. 혹시 이 필드 정보는 어디에서 볼 수 있나요?

위의 필드 정보는, 우리가 보기 편한 형태대로 이야기한 내용들이며, 실제 필드 정보를 다 보기 위해서는 github에 오픈된 소스를 분석해서 확이하는것이 가장 명확한 확인 방법입니다.

https://github.com/ethereum/eth-account/blob/master/eth_account/messages.py
https://github.com/ethereum/eth-account/blob/master/eth_account/internal/transactions.py

어떤 의미에서 별개의 것이라는지가 중요한것 같습니다. 메시지 = 트랜잭션, 이 같은 의미라고 생각하지 않습니다.

트랜잭션은 이더를 다른 계정으로 보내거나, 컨트랙트로 보내거나, 컨트랙트의 함수를 호출하거나, 새로운 컨트랙트를 배포하기 위한 서명된 데이터 패키지입니다.

제가 부족한 부분이 많아서 맞는 답변을 드린건지 잘 모르겠네요 ㅎㅎ;