protocol

package
v0.0.0-...-15eb78e Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 30, 2022 License: AGPL-3.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// CompactCertBasic is our initial compact cert setup, using Ed25519 ephemeral-key signatures and SHA512/256 hashes.
	// CompactCertBasic은 Ed25519 임시 키 서명 및 SHA512/256 해시를 사용하는 초기 컴팩트 인증서 설정입니다.
	CompactCertBasic CompactCertType = 0

	// NumCompactCertTypes is the max number of types of compact certs that we support.
	// NumCompactCertTypes는 우리가 지원하는 컴팩트 인증서 유형의 최대 수입니다.
	// This is used as an allocation bound for a map containing different compact cert types in msgpack encoding.
	// 이것은 msgpack 인코딩에서 다양한 컴팩트 인증서 유형을 포함하는 맵에 대한 할당 경계로 사용됩니다.
	NumCompactCertTypes int = 1
)
View Source
const ConsensusCurrentVersion = ConsensusV31

ConsensusCurrentVersion is the latest version and should be used when a specific version is not provided. ConsensusCurrentVersion은 최신 버전이며 특정 버전이 제공되지 않을 때 사용해야 합니다.

View Source
const ConsensusFuture = ConsensusVersion(
	"future",
)

ConsensusFuture is a protocol that should not appear in any production network, but is used to test features before they are released. ConsensusFuture는 프로덕션 네트워크에 표시되어서는 안 되는 프로토콜이지만 출시되기 전에 기능을 테스트하는 데 사용됩니다.

View Source
const ConsensusV10 = ConsensusVersion("v10")

ConsensusV10 introduces fast partition recovery. ConsensusV10은 빠른 파티션 복구를 도입합니다.

View Source
const ConsensusV11 = ConsensusVersion("v11")

ConsensusV11 introduces efficient encoding of SignedTxn using SignedTxnInBlock. ConsensusV11은 SignedTxnInBlock을 사용하여 SignedTxn의 효율적인 인코딩을 도입합니다.

View Source
const ConsensusV12 = ConsensusVersion("v12")

ConsensusV12 increases the maximum length of a version string. ConsensusV12는 버전 문자열의 최대 길이를 늘립니다.

View Source
const ConsensusV13 = ConsensusVersion(

	"https://github.com/algorand/spec/tree/0c8a9dc44d7368cc266d5407b79fb3311f4fc795",
)

ConsensusV13 makes the consensus version a meaningful string. ConsensusV13은 합의 버전을 의미 있는 문자열로 만듭니다.

View Source
const ConsensusV14 = ConsensusVersion(
	"https://github.com/algorand/spec/tree/2526b6ae062b4fe5e163e06e41e1d9b9219135a9",
)

ConsensusV14 adds tracking of closing amounts in ApplyData, and enables genesis hash in transactions. ConsensusV14는 ApplyData에서 마감 금액 추적을 추가하고 트랜잭션에서 제네시스 해시를 활성화합니다.

View Source
const ConsensusV15 = ConsensusVersion(
	"https://github.com/algorand/spec/tree/a26ed78ed8f834e2b9ccb6eb7d3ee9f629a6e622",
)

ConsensusV15 adds tracking of reward distributions in ApplyData. ConsensusV15는 ApplyData에서 보상 분포 추적을 추가합니다.

View Source
const ConsensusV16 = ConsensusVersion(
	"https://github.com/algorand/spec/tree/22726c9dcd12d9cddce4a8bd7e8ccaa707f74101",
)

ConsensusV16 fixes domain separation in Credentials and requires GenesisHash. ConsensusV16은 Credentials의 도메인 분리를 수정하고 GenesisHash가 필요합니다.

View Source
const ConsensusV17 = ConsensusVersion(
	"https://github.com/algorandfoundation/specs/tree/5615adc36bad610c7f165fa2967f4ecfa75125f0",
)

ConsensusV17 points to 'final' spec commit for 2019 june release ConsensusV17은 2019년 6월 릴리스의 '최종' 사양 커밋을 가리킵니다.

View Source
const ConsensusV18 = ConsensusVersion(
	"https://github.com/algorandfoundation/specs/tree/6c6bd668be0ab14098e51b37e806c509f7b7e31f",
)

ConsensusV18 points to reward calculation spec commit ConsensusV18 포인트 보상 계산 사양 커밋

View Source
const ConsensusV19 = ConsensusVersion(
	"https://github.com/algorandfoundation/specs/tree/0e196e82bfd6e327994bec373c4cc81bc878ef5c",
)

ConsensusV19 points to 'final' spec commit for 2019 nov release ConsensusV19는 2019년 11월 릴리스에 대한 '최종' 사양 커밋을 가리킵니다.

View Source
const ConsensusV20 = ConsensusVersion(
	"https://github.com/algorandfoundation/specs/tree/4a9db6a25595c6fd097cf9cc137cc83027787eaa",
)

ConsensusV20 points to adding the decimals field to assets ConsensusV20은 자산에 소수 필드를 추가하는 것을 가리킵니다.

View Source
const ConsensusV21 = ConsensusVersion(
	"https://github.com/algorandfoundation/specs/tree/8096e2df2da75c3339986317f9abe69d4fa86b4b",
)

ConsensusV21 fixes a bug in credential.lowestOutput ConsensusV21은 credential.lowestOutput의 버그를 수정합니다.

View Source
const ConsensusV22 = ConsensusVersion(
	"https://github.com/algorandfoundation/specs/tree/57016b942f6d97e6d4c0688b373bb0a2fc85a1a2",
)

ConsensusV22 allows tuning the upgrade delay. ConsensusV22는 업그레이드 지연을 조정할 수 있습니다.

View Source
const ConsensusV23 = ConsensusVersion(
	"https://github.com/algorandfoundation/specs/tree/e5f565421d720c6f75cdd186f7098495caf9101f",
)

ConsensusV23 fixes lease behavior. ConsensusV23은 임대 동작을 수정합니다.

View Source
const ConsensusV24 = ConsensusVersion(
	"https://github.com/algorandfoundation/specs/tree/3a83c4c743f8b17adfd73944b4319c25722a6782",
)

ConsensusV24 include the applications, rekeying and teal v2 ConsensusV24에는 응용 프로그램, rekeying 및 청록 v2가 포함됩니다.

View Source
const ConsensusV25 = ConsensusVersion(
	"https://github.com/algorandfoundation/specs/tree/bea19289bf41217d2c0af30522fa222ef1366466",
)

ConsensusV25 adds support for AssetCloseAmount in the ApplyData ConsensusV25는 ApplyData에서 AssetCloseAmount에 대한 지원을 추가합니다.

View Source
const ConsensusV26 = ConsensusVersion(
	"https://github.com/algorandfoundation/specs/tree/ac2255d586c4474d4ebcf3809acccb59b7ef34ff",
)

ConsensusV26 adds support for TEAL 3, initial rewards calculation and merkle tree hash commitments ConsensusV26은 TEAL 3, 초기 보상 계산 및 머클 트리 해시 약정에 대한 지원을 추가합니다.

View Source
const ConsensusV27 = ConsensusVersion(
	"https://github.com/algorandfoundation/specs/tree/d050b3cade6d5c664df8bd729bf219f179812595",
)

ConsensusV27 updates ApplyDelta.EvalDelta.LocalDeltas format ConsensusV27 업데이트 ApplyDelta.EvalDelta.LocalDelta 형식

View Source
const ConsensusV28 = ConsensusVersion(
	"https://github.com/algorandfoundation/specs/tree/65b4ab3266c52c56a0fa7d591754887d68faad0a",
)

ConsensusV28 introduces new TEAL features, larger program size, fee pooling and longer asset max URL ConsensusV28은 새로운 TEAL 기능, 더 큰 프로그램 크기, 수수료 풀링 및 더 긴 자산 최대 URL을 도입합니다.

View Source
const ConsensusV29 = ConsensusVersion(
	"https://github.com/algorandfoundation/specs/tree/abc54f79f9ad679d2d22f0fb9909fb005c16f8a1",
)

ConsensusV29 fixes application update by using ExtraProgramPages in size calculations ConsensusV29는 크기 계산에서 ExtraProgramPages를 사용하여 애플리케이션 업데이트를 수정합니다.

View Source
const ConsensusV30 = ConsensusVersion(
	"https://github.com/algorandfoundation/specs/tree/bc36005dbd776e6d1eaf0c560619bb183215645c",
)

ConsensusV30 introduces AVM 1.0 and TEAL 5, increases the app opt in limit to 50, and allows costs to be pooled in grouped stateful transactions. ConsensusV30은 AVM 1.0 및 TEAL 5를 도입하고 앱 옵트인 제한을 50으로 늘리고 비용을 그룹화된 상태 저장 트랜잭션으로 풀링할 수 있습니다.

View Source
const ConsensusV31 = ConsensusVersion(
	"https://github.com/algorandfoundation/specs/tree/85e6db1fdbdef00aa232c75199e10dc5fe9498f6",
)

ConsensusV31 enables the batch verification for ed25519 signatures, Fix reward calculation issue, introduces the ability to force an expired participation offline, enables TEAL 6 ( AVM 1.1 ) and add support for creating state proof keys. ConsensusV31은 ed25519 서명에 대한 일괄 검증을 활성화하고, 보상 계산 문제를 수정하고, 만료된 참여를 오프라인으로 강제 적용하는 기능을 도입하고, TEAL 6( AVM 1.1 )을 활성화하고, 상태 증명 키 생성에 대한 지원을 추가합니다.

View Source
const ConsensusV7 = ConsensusVersion("v7")

ConsensusV7 increases MaxBalLookback to 320 in preparation for the twin seeds change. ConsensusV7은 트윈 시드 변경에 대비하여 MaxBalLookback을 320으로 늘립니다.

View Source
const ConsensusV8 = ConsensusVersion("v8")

ConsensusV8 uses the new parameters and seed derivation policy from the agreement protocol's security analysis. ConsensusV8은 계약 프로토콜의 보안 분석에서 새로운 매개변수와 시드 파생 정책을 사용합니다.

View Source
const ConsensusV9 = ConsensusVersion("v9")

ConsensusV9 increases min balance to 100,000 microNovas. Consensus V9는 최소 잔고를 100,000 마이크로 알고리즘으로 늘립니다.

View Source
const DEPRECATEDConsensusV0 = ConsensusVersion("v0")

DEPRECATEDConsensusV0 is a baseline version of the Algorand consensus protocol. at the time versioning was introduced. It is now deprecated.

View Source
const DEPRECATEDConsensusV1 = ConsensusVersion("v1")

DEPRECATEDConsensusV1 adds support for Genesis ID in transactions, but does not require it (transactions missing a GenesisID value are still allowed). It is now deprecated.

View Source
const DEPRECATEDConsensusV2 = ConsensusVersion("v2")

DEPRECATEDConsensusV2 fixes a bug in the agreement protocol where proposalValues fail to commit to the original period and sender of a block.

View Source
const DEPRECATEDConsensusV3 = ConsensusVersion("v3")

DEPRECATEDConsensusV3 adds support for fine-grained ephemeral keys.

View Source
const DEPRECATEDConsensusV4 = ConsensusVersion("v4")

DEPRECATEDConsensusV4 adds support for a min balance and a transaction that closes out an account.

View Source
const DEPRECATEDConsensusV5 = ConsensusVersion("v5")

DEPRECATEDConsensusV5 sets MinTxnFee to 1000 and fixes a blance lookback bug

View Source
const DEPRECATEDConsensusV6 = ConsensusVersion("v6")

DEPRECATEDConsensusV6 adds support for explicit ephemeral-key parameters

Variables

View Source
var CodecHandle *codec.MsgpackHandle

CodecHandle is used to instantiate msgpack encoders and decoders with our settings (canonical, paranoid about decoding errors) CodecHandle은 우리의 설정으로 msgpack 인코더 및 디코더를 인스턴스화하는 데 사용됩니다(표준, 디코딩 오류에 대한 편집증).

View Source
var ErrInvalidObject = errors.New("unmarshalled object is invalid")

ErrInvalidObject is used to state that an object decoding has failed because it's invalid. ErrInvalidObject는 유효하지 않기 때문에 객체 디코딩이 실패했음을 나타내는 데 사용됩니다.

View Source
var JSONHandle *codec.JsonHandle

JSONHandle is used to instantiate JSON encoders and decoders with our settings (canonical, paranoid about decoding errors) JSONHandle은 설정을 사용하여 JSON 인코더 및 디코더를 인스턴스화하는 데 사용됩니다(표준, 디코딩 오류에 대한 편집증).

View Source
var JSONStrictHandle *codec.JsonHandle

JSONStrictHandle is the same as JSONHandle but with MapKeyAsString=true for correct maps[int]interface{} encoding JSONStrictHandle은 JSONHandle과 동일하지만 올바른 maps[int]interface{} 인코딩을 위해 MapKeyAsString=true를 사용합니다.

Functions

func Decode

func Decode(b []byte, objptr msgp.Unmarshaler) error

Decode attempts to decode a msgpack-encoded byte buffer into an object instance pointed to by objptr. Decode는 msgpack으로 인코딩된 바이트 버퍼를 objptr이 가리키는 개체 인스턴스로 디코딩하려고 시도합니다.

func DecodeJSON

func DecodeJSON(b []byte, objptr interface{}) error

DecodeJSON attempts to decode a JSON-encoded byte buffer into an object instance pointed to by objptr DecodeJSON은 JSON으로 인코딩된 바이트 버퍼를 objptr이 가리키는 객체 인스턴스로 디코딩하려고 시도합니다.

func DecodeMsgp

func DecodeMsgp(b []byte, objptr msgp.Unmarshaler) (err error)

DecodeMsgp attempts to decode a msgpack-encoded byte buffer into an object instance pointed to by objptr, requiring that we pre- generated the code for doing so using msgp. DecodeMsgp는 msgpack으로 인코딩된 바이트 버퍼를 objptr이 가리키는 개체 인스턴스로 디코딩하려고 시도하므로 msgp를 사용하여 코드를 미리 생성해야 합니다.

func DecodeReflect

func DecodeReflect(b []byte, objptr interface{}) error

DecodeReflect attempts to decode a msgpack-encoded byte buffer into an object instance pointed to by objptr, using reflection. DecodeReflect는 리플렉션을 사용하여 msgpack으로 인코딩된 바이트 버퍼를 objptr이 가리키는 개체 인스턴스로 디코딩하려고 시도합니다.

func DecodeStream

func DecodeStream(r io.Reader, objptr interface{}) error

DecodeStream is like Decode but reads from an io.Reader instead. DecodeStream은 Decode와 비슷하지만 대신 io.Reader에서 읽습니다.

func Encode

func Encode(obj msgp.Marshaler) []byte

Encode returns a msgpack-encoded byte buffer for a given object. Encode는 주어진 객체에 대해 msgpack으로 인코딩된 바이트 버퍼를 반환합니다.

func EncodeJSON

func EncodeJSON(obj interface{}) []byte

EncodeJSON returns a JSON-encoded byte buffer for a given object EncodeJSON은 주어진 객체에 대해 JSON으로 인코딩된 바이트 버퍼를 반환합니다.

func EncodeJSONStrict

func EncodeJSONStrict(obj interface{}) []byte

EncodeJSONStrict returns a JSON-encoded byte buffer for a given object It is the same EncodeJSON but encodes map's int keys as strings EncodeJSONStrict는 주어진 객체에 대해 JSON으로 인코딩된 바이트 버퍼를 반환합니다. 동일한 EncodeJSON이지만 맵의 int 키를 문자열로 인코딩합니다.

func EncodeMsgp

func EncodeMsgp(obj msgp.Marshaler) []byte

EncodeMsgp returns a msgpack-encoded byte buffer, requiring that we pre-generated the code for doing so using msgp. EncodeMsgp는 msgpack으로 인코딩된 바이트 버퍼를 반환하므로 msgp를 사용하여 코드를 미리 생성해야 합니다.

func EncodeReflect

func EncodeReflect(obj interface{}) []byte

EncodeReflect returns a msgpack-encoded byte buffer for a given object, using reflection. EncodeReflect는 리플렉션을 사용하여 주어진 객체에 대해 msgpack으로 인코딩된 바이트 버퍼를 반환합니다.

func EncodeStream

func EncodeStream(w io.Writer, obj interface{})

EncodeStream is like Encode but writes to an io.Writer instead. EncodeStream은 Encode와 비슷하지만 대신 io.Writer에 씁니다.

func EncodingTest

func EncodingTest(template msgpMarshalUnmarshal) error

EncodingTest tests that our two msgpack codecs (msgp and go-codec) agree on encodings and decodings of random values of the type of template, returning an error if there is a mismatch. EncodingTest는 두 개의 msgpack 코덱(msgp 및 go-codec)이 템플릿 유형의 임의 값의 인코딩 및 디코딩에 동의하는지 테스트하고 불일치가 있으면 오류를 반환합니다.

func GetEncodingBuf

func GetEncodingBuf() []byte

GetEncodingBuf returns a byte slice that can be used for encoding a temporary message. The byte slice has zero length but potentially non-zero capacity. The caller gets full ownership of the byte slice, but is encouraged to return it using PutEncodingBuf(). GetEncodingBuf는 임시 메시지를 인코딩하는 데 사용할 수 있는 바이트 슬라이스를 반환합니다. 바이트 슬라이스의 길이는 0이지만 잠재적으로 0이 아닌 용량을 갖습니다. 호출자는 바이트 슬라이스의 전체 소유권을 갖지만 PutEncodingBuf()를 사용하여 반환하는 것이 좋습니다.

func NewEncoder

func NewEncoder(w io.Writer) *codec.Encoder

NewEncoder returns an encoder object writing bytes into [w]. NewEncoder는 [w]에 바이트를 쓰는 인코더 객체를 반환합니다.

func NewJSONEncoder

func NewJSONEncoder(w io.Writer) *codec.Encoder

NewJSONEncoder returns an encoder object writing bytes into [w]. NewJSONEncoder는 [w]에 바이트를 쓰는 인코더 객체를 반환합니다.

func PutEncodingBuf

func PutEncodingBuf(s []byte)

PutEncodingBuf places a byte slice into the pool of temporary buffers for encoding. The caller gives up ownership of the byte slice when passing it to PutEncodingBuf(). PutEncodingBuf는 인코딩을 위해 임시 버퍼 풀에 바이트 슬라이스를 배치합니다. 호출자는 바이트 슬라이스를 PutEncodingBuf()에 전달할 때 바이트 슬라이스의 소유권을 포기합니다.

func RandomizeObject

func RandomizeObject(template interface{}) (interface{}, error)

RandomizeObject returns a random object of the same type as template RandomizeObject는 템플릿과 동일한 유형의 임의의 개체를 반환합니다.

func RunEncodingTest

func RunEncodingTest(t *testing.T, template msgpMarshalUnmarshal)

RunEncodingTest runs several iterations of encoding/decoding consistency testing of object type specified by template. RunEncodingTest는 템플릿에 의해 지정된 객체 유형의 인코딩/디코딩 일관성 테스트의 여러 반복을 실행합니다.

Types

type CompactCertType

type CompactCertType uint64

CompactCertType identifies a particular configuration of compact certs. CompactCertType은 컴팩트 인증서의 특정 구성을 식별합니다.

func (CompactCertType) CanMarshalMsg

func (_ CompactCertType) CanMarshalMsg(z interface{}) bool

func (*CompactCertType) CanUnmarshalMsg

func (_ *CompactCertType) CanUnmarshalMsg(z interface{}) bool

func (CompactCertType) MarshalMsg

func (z CompactCertType) MarshalMsg(b []byte) (o []byte)

MarshalMsg implements msgp.Marshaler ~

func (CompactCertType) MsgIsZero

func (z CompactCertType) MsgIsZero() bool

MsgIsZero returns whether this is a zero value MsgIsZero는 이것이 0 값인지 여부를 반환합니다.

func (CompactCertType) Msgsize

func (z CompactCertType) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message Msgsize는 직렬화된 메시지가 차지하는 바이트 수의 상한 추정치를 반환합니다.

func (*CompactCertType) UnmarshalMsg

func (z *CompactCertType) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler ~

type ConsensusVersion

type ConsensusVersion string

ConsensusVersion is a string that identifies a version of the consensus protocol. ConsensusVersion은 합의 프로토콜의 버전을 식별하는 문자열입니다.

func (ConsensusVersion) CanMarshalMsg

func (_ ConsensusVersion) CanMarshalMsg(z interface{}) bool

func (*ConsensusVersion) CanUnmarshalMsg

func (_ *ConsensusVersion) CanUnmarshalMsg(z interface{}) bool

func (ConsensusVersion) MarshalMsg

func (z ConsensusVersion) MarshalMsg(b []byte) (o []byte)

MarshalMsg implements msgp.Marshaler

func (ConsensusVersion) MsgIsZero

func (z ConsensusVersion) MsgIsZero() bool

MsgIsZero returns whether this is a zero value MsgIsZero는 이것이 0 값인지 여부를 반환합니다.

func (ConsensusVersion) Msgsize

func (z ConsensusVersion) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message Msgsize는 직렬화된 메시지가 차지하는 바이트 수의 상한 추정치를 반환합니다.

func (*ConsensusVersion) UnmarshalMsg

func (z *ConsensusVersion) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type Decoder

type Decoder interface {
	Decode(objptr interface{}) error
}

Decoder is our interface for a thing that can decode objects. 디코더는 객체를 디코딩할 수 있는 인터페이스입니다.

func NewDecoder

func NewDecoder(r io.Reader) Decoder

NewDecoder returns a decoder object reading bytes from [r]. NewDecoder는 [r]에서 바이트를 읽는 디코더 객체를 반환합니다.

func NewDecoderBytes

func NewDecoderBytes(b []byte) Decoder

NewDecoderBytes returns a decoder object reading bytes from [b]. NewDecoderBytes는 [b]에서 바이트를 읽는 디코더 객체를 반환합니다.

func NewJSONDecoder

func NewJSONDecoder(r io.Reader) Decoder

NewJSONDecoder returns a json decoder object reading bytes from [r]. NewJSONDecoder는 [r]에서 바이트를 읽는 json 디코더 객체를 반환합니다.

type Error

type Error ConsensusVersion

Error is used to indicate that an unsupported protocol has been detected. 오류는 지원되지 않는 프로토콜이 감지되었음을 나타내는 데 사용됩니다.

func (Error) CanMarshalMsg

func (_ Error) CanMarshalMsg(z interface{}) bool

func (*Error) CanUnmarshalMsg

func (_ *Error) CanUnmarshalMsg(z interface{}) bool

func (Error) Error

func (err Error) Error() string

Error satisfies builtin interface `error` Error 는 내장 인터페이스 `error`를 충족합니다.

func (Error) MarshalMsg

func (z Error) MarshalMsg(b []byte) (o []byte)

MarshalMsg implements msgp.Marshaler

func (Error) MsgIsZero

func (z Error) MsgIsZero() bool

MsgIsZero returns whether this is a zero value MsgIsZero는 이것이 0 값인지 여부를 반환합니다.

func (Error) Msgsize

func (z Error) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message Msgsize는 직렬화된 메시지가 차지하는 바이트 수의 상한 추정치를 반환합니다.

func (*Error) UnmarshalMsg

func (z *Error) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type HashID

type HashID string

HashID is a domain separation prefix for an object type that might be hashed This ensures, for example, the hash of a transaction will never collide with the hash of a vote HashID는 해시될 수 있는 객체 유형에 대한 도메인 분리 접두사입니다. 이것은 예를 들어 트랜잭션의 해시가 투표의 해시와 충돌하지 않도록 합니다.

const (
	AppIndex HashID = "appID"

	// ARCReserved is used to reserve prefixes starting with `arc` to
	// ARCs-related hashes https://github.com/algorandfoundation/ARCs
	// The prefix for ARC-XXXX should start with:
	// "arcXXXX" (where "XXXX" is the 0-padded number of the ARC)
	// For example ARC-0003 can use any prefix starting with "arc0003"
	// ===================================================================
	// ARCReserved는 'arc' 로 시작하는 접두사를 ARC 관련  해시에 예약하는 데 사용
	// ARC 관련 해시 https://github.com/algorandfoundation/ARCs
	// ARC-XXXX의 접두사는 다음으로 시작해야 합니다.
	// "arcXXXX"(여기서 "XXXX"는 ARC의 0으로 채워진 숫자)
	// 예를 들어 ARC-0003은 "arc0003"으로 시작하는 모든 접두사를 사용할 수 있습니다.
	ARCReserved HashID = "arc"

	AuctionBid        HashID = "aB"
	AuctionDeposit    HashID = "aD"
	AuctionOutcomes   HashID = "aO"
	AuctionParams     HashID = "aP"
	AuctionSettlement HashID = "aS"

	CompactCertCoin HashID = "ccc"
	CompactCertPart HashID = "ccp"
	CompactCertSig  HashID = "ccs"

	AgreementSelector                HashID = "AS"
	BlockHeader                      HashID = "BH"
	BalanceRecord                    HashID = "BR"
	Credential                       HashID = "CR"
	Genesis                          HashID = "GE"
	KeysInMSS                        HashID = "KP"
	MerkleArrayNode                  HashID = "MA"
	MerkleVectorCommitmentBottomLeaf HashID = "MB"
	Message                          HashID = "MX"
	NetPrioResponse                  HashID = "NPR"
	OneTimeSigKey1                   HashID = "OT1"
	OneTimeSigKey2                   HashID = "OT2"
	PaysetFlat                       HashID = "PF"
	Payload                          HashID = "PL"
	Program                          HashID = "Program"
	ProgramData                      HashID = "ProgData"
	ProposerSeed                     HashID = "PS"
	ParticipationKeys                HashID = "PK"
	Seed                             HashID = "SD"
	SpecialAddr                      HashID = "SpecialAddr"
	SignedTxnInBlock                 HashID = "STIB"
	TestHashable                     HashID = "TE"
	TxGroup                          HashID = "TG"
	TxnMerkleLeaf                    HashID = "TL"
	Transaction                      HashID = "TX"
	Vote                             HashID = "VO"
)

Hash IDs for specific object types, in lexicographic order. Hash IDs must be PREFIX-FREE (no hash ID is a prefix of another). 사전순으로 특정 객체 유형에 대한 해시 ID. 해시 ID는 PREFIX-FREE여야 합니다(해시 ID가 다른 해시 ID의 접두어가 아님).

func (HashID) CanMarshalMsg

func (_ HashID) CanMarshalMsg(z interface{}) bool

func (*HashID) CanUnmarshalMsg

func (_ *HashID) CanUnmarshalMsg(z interface{}) bool

func (HashID) MarshalMsg

func (z HashID) MarshalMsg(b []byte) (o []byte)

MarshalMsg implements msgp.Marshaler

func (HashID) MsgIsZero

func (z HashID) MsgIsZero() bool

MsgIsZero returns whether this is a zero value MsgIsZero는 이것이 0 값인지 여부를 반환합니다.

func (HashID) Msgsize

func (z HashID) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message Msgsize는 직렬화된 메시지가 차지하는 바이트 수의 상한 추정치를 반환합니다.

func (*HashID) UnmarshalMsg

func (z *HashID) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type NetworkID

type NetworkID string

The NetworkID type is used for strings that identify distinct named networks NetworkID 유형은 고유한 명명된 네트워크를 식별하는 문자열에 사용됩니다.

func (NetworkID) CanMarshalMsg

func (_ NetworkID) CanMarshalMsg(z interface{}) bool

func (*NetworkID) CanUnmarshalMsg

func (_ *NetworkID) CanUnmarshalMsg(z interface{}) bool

func (NetworkID) MarshalMsg

func (z NetworkID) MarshalMsg(b []byte) (o []byte)

MarshalMsg implements msgp.Marshaler

func (NetworkID) MsgIsZero

func (z NetworkID) MsgIsZero() bool

MsgIsZero returns whether this is a zero value MsgIsZero는 이것이 0 값인지 여부를 반환합니다.

func (NetworkID) Msgsize

func (z NetworkID) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message Msgsize는 직렬화된 메시지가 차지하는 바이트 수의 상한 추정치를 반환합니다.

func (*NetworkID) UnmarshalMsg

func (z *NetworkID) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type SortCompactCertType

type SortCompactCertType []CompactCertType

SortCompactCertType implements sorting by CompactCertType keys for canonical encoding of maps in msgpack format. SortCompactCertType은 msgpack 형식의 맵을 표준 인코딩하기 위해 CompactCertType 키를 기준으로 정렬을 구현합니다. msgp:ignore SortCompactCertType msgp:sort CompactCertType SortCompactCertType

func (SortCompactCertType) Len

func (a SortCompactCertType) Len() int

func (SortCompactCertType) Less

func (a SortCompactCertType) Less(i, j int) bool

func (SortCompactCertType) Swap

func (a SortCompactCertType) Swap(i, j int)

type Tag

type Tag string

Tag represents a message type identifier. Messages have a Tag field. Handlers can register to a given Tag. e.g., the agreement service can register to handle agreements with the Agreement tag. 태그는 메시지 유형 식별자를 나타냅니다. 메시지에는 태그 필드가 있습니다. 핸들러는 주어진 태그에 등록할 수 있습니다. 예를 들어 계약 서비스는 계약 태그를 사용하여 계약을 처리하도록 등록할 수 있습니다.

const (
	UnknownMsgTag      Tag = "??"
	AgreementVoteTag   Tag = "AV"
	CompactCertSigTag  Tag = "CS"
	MsgOfInterestTag   Tag = "MI"
	MsgDigestSkipTag   Tag = "MS"
	NetPrioResponseTag Tag = "NP"
	PingTag            Tag = "pi"
	PingReplyTag       Tag = "pj"
	ProposalPayloadTag Tag = "PP"
	TopicMsgRespTag    Tag = "TS"
	TxnTag             Tag = "TX"
	UniCatchupReqTag   Tag = "UC" //Replaced by UniEnsBlockReqTag. Only for backward compatibility. //이전 버전과의 호환성을 위해서만, UniEnsBlockReqTag 에 의해 교체됩니다.
	UniEnsBlockReqTag  Tag = "UE"
	//UniEnsBlockResTag  Tag = "US" was used for wsfetcherservice
	//UniCatchupResTag   Tag = "UT" was used for wsfetcherservice
	VoteBundleTag Tag = "VB"
)

Tags, in lexicographic sort order of tag values to avoid duplicates. These tags must not contain a comma character because lists of tags are encoded using a comma separator (see network/msgOfInterest.go). The tags must be 2 bytes long. ========================================== 태그, 중복을 피하기 위해 태그 값의 사전식 정렬 순서. 태그 목록은 쉼표 구분 기호를 사용하여 인코딩되기 때문에 이러한 태그에는 쉼표 문자가 포함되지 않아야 합니다(network/msgOfInterest.go 참조). 태그의 길이는 2바이트여야 합니다.

func (Tag) CanMarshalMsg

func (_ Tag) CanMarshalMsg(z interface{}) bool

func (*Tag) CanUnmarshalMsg

func (_ *Tag) CanUnmarshalMsg(z interface{}) bool

func (Tag) MarshalMsg

func (z Tag) MarshalMsg(b []byte) (o []byte)

MarshalMsg implements msgp.Marshaler

func (Tag) MsgIsZero

func (z Tag) MsgIsZero() bool

MsgIsZero returns whether this is a zero value MsgIsZero는 이것이 0 값인지 여부를 반환합니다.

func (Tag) Msgsize

func (z Tag) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message Msgsize는 직렬화된 메시지가 차지하는 바이트 수의 상한 추정치를 반환합니다.

func (*Tag) UnmarshalMsg

func (z *Tag) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type TxType

type TxType string

TxType is the type of the transaction written to the ledger TxType은 원장에 기록된 트랜잭션의 유형입니다.

const (
	// PaymentTx indicates a payment transaction
	// PaymentTx는 결제 거래를 나타냅니다.
	PaymentTx TxType = "pay"

	// KeyRegistrationTx indicates a transaction that registers participation keys
	// KeyRegistrationTx는 참여 키를 등록하는 트랜잭션을 나타냅니다.
	KeyRegistrationTx TxType = "keyreg"

	// AssetConfigTx creates, re-configures, or destroys an asset
	// AssetConfigTx는 자산을 생성, 재구성 또는 파괴합니다.
	AssetConfigTx TxType = "acfg"

	// AssetTransferTx transfers assets between accounts (optionally closing)
	// AssetTransferTx는 계정 간에 자산을 전송합니다(선택적으로 폐쇄)
	AssetTransferTx TxType = "axfer"

	// AssetFreezeTx changes the freeze status of an asset
	// AssetFreezeTx는 자산의 정지 상태를 변경합니다.
	AssetFreezeTx TxType = "afrz"

	// ApplicationCallTx allows creating, deleting, and interacting with an application
	// ApplicationCallTx는 애플리케이션 생성, 삭제 및 상호 작용을 허용합니다.
	ApplicationCallTx TxType = "appl"

	// CompactCertTx records a compact certificate
	// CompactCertTx는 컴팩트 인증서를 기록합니다.
	CompactCertTx TxType = "cert"

	// (추가) 새로만들 트랜잭션 타입 정의!!
	AddressPrintTx TxType = "addrprint"

	// UnknownTx signals an error
	// UnknownTx는 오류 신호를 보냅니다.
	UnknownTx TxType = "unknown"
)

func (TxType) CanMarshalMsg

func (_ TxType) CanMarshalMsg(z interface{}) bool

func (*TxType) CanUnmarshalMsg

func (_ *TxType) CanUnmarshalMsg(z interface{}) bool

func (TxType) MarshalMsg

func (z TxType) MarshalMsg(b []byte) (o []byte)

MarshalMsg implements msgp.Marshaler

func (TxType) MsgIsZero

func (z TxType) MsgIsZero() bool

MsgIsZero returns whether this is a zero value MsgIsZero는 이것이 0 값인지 여부를 반환합니다.

func (TxType) Msgsize

func (z TxType) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message Msgsize는 직렬화된 메시지가 차지하는 바이트 수의 상한 추정치를 반환합니다.

func (*TxType) UnmarshalMsg

func (z *TxType) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL