Smart contracts in tezos

in #tezos4 years ago

계약 유형
사용하지 않은 출력 대신 Tezos는 상태 저장 계정을 사용합니다. 이러한 계정이 실행 코드를 지정하면보다 일반적으로 계약이라고합니다. 계정은 일종의 계약 (실행 코드가없는 계약)이므로 \ "계약"이라고합니다.

각 계약에는 "관리자"가 있으며 계정의 경우 단순히 소유자입니다. 계약서에 지출 가능한 것으로 표시된 경우, 관리자는 계약서와 관련된 자금을 사용할 수 있습니다. 또한, 각 계약은 스테이크 증명 프로토콜에서 블록에 서명 또는 마이닝하는 데 사용되는 공개 키의 해시를 지정할 수 있습니다. 개인 키는 관리자가 제어하거나 제어하지 않을 수 있습니다.

공식적으로 계약은 다음과 같이 표현됩니다.

type contract = {
counter: int; (* counter to prevent repeat attacks )
manager: id; (
hash of the contract's manager public key )
balance: Int64.t; (
balance held )
signer: id option; (
id of the signer )
code: opcode list; (
contract code as a list of opcodes )
storage: data list; (
storage of the contract )
spendable: bool; (
may the money be spent by the manager? )
delegatable: bool; (
may the manager change the signing key? *)
}

계약의 처리는 초기 컨텐츠의 해시입니다. 해시가 기존 계약과 충돌하는 계약을 작성하는 것은 유효하지 않은 작업이며 유효한 블록에 포함될 수 없습니다.

데이터는 공용체 유형으로 표시됩니다.

type data =
| STRING of string
| INT of int

여기서 INT는 부호있는 64 비트 정수이고 string은 최대 바이트의 배열입니다. 저장 용량은 바이트로 제한되며 정수를 8 바이트로, 문자열을 길이로 계산합니다.

Coin Marketplace

STEEM 0.28
TRX 0.13
JST 0.032
BTC 61146.27
ETH 2924.49
USDT 1.00
SBD 3.58