2017-12-18 15 views
-1

나는 testrpc & 트뤼플을 사용하여 현명한 계약을 전개하려고합니다. 내 똑똑한 계약은 HelloWorld만큼이나 간단합니다. 0xfd52dd6fd4002b86ccbd3ae7c7a3e1a9d16c3648이 주소로 계약이 성공적으로 배포되었습니다. 내가 이해할 수없는 유일한 점은 계약서에 두 당사자가 참여해야한다는 것입니다. 이 명령을 실행할 때 HelloWorld.deployed(), 나는 에서 주소로만 이동합니다. 두 매개 변수 (예 : , &,)를 모두 갖고 싶습니다. 내 질문은 ethereum에 계약서에 서명하는 동안 ~ 매개 변수를 포함시키는 방법입니까?블록 체인의 스마트 계약

답변

0

영리 계약은 반드시 생각하고있는 조건의 계약이 아닙니다. 나는 당신이 두 당사자가 동의하는 계약을 상상하고 있다고 가정하고 그것이 블록 체인에 증거로 저장되어 있는가?

반드시 그런 것은 아닙니다.

똑똑한 계약은 단순히 에테르 디 블록 체인 (Ethereum blockchain)에있는 Solidity로 작성된 프로그램으로, 원하는만큼 많은 사람들과 함께 할 수 있습니다.

즉, 에테르를 가져 와서 특정 날짜까지 수집하는 '스마트 계약'을 만들 수 있습니다.이 계약에서는 수집 된 모든 에테르를 지정된 계정으로 릴리스합니다.

누구나 '서명'할 필요는 없지만 아무도 참여할 수없는 특정 날짜까지이 계약서에 에테르를 입금 할 수 있습니다.

'계약'의 본질은 참여한 모든 사람이 그 시간까지 에테르가 잠길 것이라는 것을 알 수 있으며 그 주소로 수집 된 것을 공개 할 수 있다는 것을 알 수 있습니다. 이것은 변경할 수 없습니다. 계약과 상호 작용함으로써 본질적으로 계약서에 포함 된 조항에 동의한다는 사실을 '서명'합니다.

'hello world'계약의 예에서 네트워크에 배치 할 수 있습니다.이 계약을 실행하고자하는 사람은 그 계약 내용을 확인한 다음 'hello 세계'.

따라서 '보낸 사람'주소의 출처를 지정할 수는 있지만 다른 사람이 볼 수있는 'to'주소는 필요하지 않습니다.

일부 계약자가 사용 계약을 제한하려면 계약서에이 주소를 기재하고 누군가가 전화 할 때마다 계약서를 확인해야합니다. 사용자에게 해당 기능을 실행하는 것이 허용되지 않는다는 메시지를 보냅니다.