
6
장
스크립트
169
length = len(cmd)
if length < 75:
➋
result += int_to_little_endian(length, 1)
elif length > 75 and length < 0x100:
➌
result += int_to_little_endian(76, 1)
result += int_to_little_endian(length, 1)
elif length >= 0x100 and length <= 520:
➍
result += int_to_little_endian(77, 1)
result += int_to_little_endian(length, 2)
else:
➎
raise ValueError('too long an cmd')
result += cmd
return result
def serialize(self):
result = self.raw_serialize()
total = len(result)
return encode_varint(total) + result
➏
➊ 명령어가 정숫값이라면 이는 연산자의 오피코드를 의미합니다.
➋ 만약 길이가
1
~
75
범위라면 그 길이를
1
바이트로 표현합니다.
➌ 길이가
76
~
255
범위라면 먼저
OP
_
PUSHDATA1
을 삽입합니다. 그리고
1
바이트로 그 길이
를 표현합니다. ...