Documentation ¶
Index ¶
- Variables
- type DefaultBlock
- func (block *DefaultBlock) Deserialize(serializedBlock []byte) error
- func (block *DefaultBlock) GetCreator() string
- func (block *DefaultBlock) GetHeight() uint64
- func (block *DefaultBlock) GetPrevSeal() []byte
- func (block *DefaultBlock) GetSeal() []byte
- func (block *DefaultBlock) GetTimestamp() time.Time
- func (block *DefaultBlock) GetTxList() []common.Transaction
- func (block *DefaultBlock) GetTxSeal() [][]byte
- func (block *DefaultBlock) IsPrev(serializedPrevBlock []byte) bool
- func (block *DefaultBlock) IsReadyToPublish() bool
- func (block *DefaultBlock) PutTx(transaction common.Transaction) error
- func (block *DefaultBlock) Serialize() ([]byte, error)
- func (block *DefaultBlock) SetCreator(creator string)
- func (block *DefaultBlock) SetHeight(height uint64)
- func (block *DefaultBlock) SetPrevSeal(prevSeal []byte)
- func (block *DefaultBlock) SetSeal(seal []byte)
- func (block *DefaultBlock) SetTimestamp(currentTime time.Time)
- func (block *DefaultBlock) SetTxSeal(txSeal [][]byte)
- type DefaultTransaction
- func (t *DefaultTransaction) CalculateSeal() ([]byte, error)
- func (t *DefaultTransaction) Deserialize(serializedBytes []byte) error
- func (t *DefaultTransaction) GetContent() ([]byte, error)
- func (t *DefaultTransaction) GetID() string
- func (t *DefaultTransaction) GetSignature() []byte
- func (t *DefaultTransaction) Serialize() ([]byte, error)
- func (t *DefaultTransaction) SetSignature(signature []byte)
- type DefaultValidator
- func (t *DefaultValidator) BuildSeal(timeStamp time.Time, prevSeal []byte, txSeal [][]byte, creator string) ([]byte, error)
- func (t *DefaultValidator) BuildTxSeal(txList []common.Transaction) ([][]byte, error)
- func (t *DefaultValidator) ValidateSeal(seal []byte, comparisonBlock common.Block) (bool, error)
- func (t *DefaultValidator) ValidateTransaction(txSeal [][]byte, transaction common.Transaction) (bool, error)
- func (t *DefaultValidator) ValidateTxSeal(txSeal [][]byte, txList []common.Transaction) (bool, error)
- type FunctionType
- type Params
- type Status
- type TxData
- type TxDataType
Constants ¶
This section is empty.
Variables ¶
var ErrHashCalculationFailed = errors.New("Hash Calculation Failed Error")
ErrHashCalculationFailed 변수는 Hash 계산 중 발생한 에러를 정의한다.
Functions ¶
This section is empty.
Types ¶
type DefaultBlock ¶
type DefaultBlock struct { Seal []byte PrevSeal []byte Height uint64 TxList []*DefaultTransaction TxSeal [][]byte Timestamp time.Time Creator string }
func NewEmptyBlock ¶
func NewEmptyBlock(prevSeal []byte, height uint64, creator string) *DefaultBlock
func (*DefaultBlock) Deserialize ¶
func (block *DefaultBlock) Deserialize(serializedBlock []byte) error
func (*DefaultBlock) GetCreator ¶
func (block *DefaultBlock) GetCreator() string
func (*DefaultBlock) GetHeight ¶
func (block *DefaultBlock) GetHeight() uint64
func (*DefaultBlock) GetPrevSeal ¶
func (block *DefaultBlock) GetPrevSeal() []byte
func (*DefaultBlock) GetSeal ¶
func (block *DefaultBlock) GetSeal() []byte
func (*DefaultBlock) GetTimestamp ¶
func (block *DefaultBlock) GetTimestamp() time.Time
func (*DefaultBlock) GetTxList ¶
func (block *DefaultBlock) GetTxList() []common.Transaction
func (*DefaultBlock) GetTxSeal ¶
func (block *DefaultBlock) GetTxSeal() [][]byte
func (*DefaultBlock) IsPrev ¶
func (block *DefaultBlock) IsPrev(serializedPrevBlock []byte) bool
func (*DefaultBlock) IsReadyToPublish ¶
func (block *DefaultBlock) IsReadyToPublish() bool
func (*DefaultBlock) PutTx ¶
func (block *DefaultBlock) PutTx(transaction common.Transaction) error
func (*DefaultBlock) Serialize ¶
func (block *DefaultBlock) Serialize() ([]byte, error)
func (*DefaultBlock) SetCreator ¶
func (block *DefaultBlock) SetCreator(creator string)
func (*DefaultBlock) SetHeight ¶
func (block *DefaultBlock) SetHeight(height uint64)
func (*DefaultBlock) SetPrevSeal ¶
func (block *DefaultBlock) SetPrevSeal(prevSeal []byte)
func (*DefaultBlock) SetSeal ¶
func (block *DefaultBlock) SetSeal(seal []byte)
func (*DefaultBlock) SetTimestamp ¶
func (block *DefaultBlock) SetTimestamp(currentTime time.Time)
func (*DefaultBlock) SetTxSeal ¶
func (block *DefaultBlock) SetTxSeal(txSeal [][]byte)
type DefaultTransaction ¶
type DefaultTransaction struct { ID string Status Status PeerID string Timestamp time.Time TxData *TxData Signature []byte }
DefaultTransaction 구조체는 Transaction 인터페이스의 기본 구현체이다.
func NewDefaultTransaction ¶
func NewDefaultTransaction(peerID string, txID string, timestamp time.Time, txData *TxData) *DefaultTransaction
NewDefaultTransaction 함수는 새로운 DefaultTransaction를 반환한다.
func (*DefaultTransaction) CalculateSeal ¶
func (t *DefaultTransaction) CalculateSeal() ([]byte, error)
CalculateSeal 함수는 Transaction 고유의 Hash 값을 계산하여 반환한다.
func (*DefaultTransaction) Deserialize ¶
func (t *DefaultTransaction) Deserialize(serializedBytes []byte) error
func (*DefaultTransaction) GetContent ¶
func (t *DefaultTransaction) GetContent() ([]byte, error)
func (*DefaultTransaction) GetID ¶
func (t *DefaultTransaction) GetID() string
GetID 함수는 Transaction의 ID 값을 반환한다.
func (*DefaultTransaction) GetSignature ¶
func (t *DefaultTransaction) GetSignature() []byte
func (*DefaultTransaction) Serialize ¶
func (t *DefaultTransaction) Serialize() ([]byte, error)
Serialize 함수는 Transaction을 []byte 형태로 변환한다.
func (*DefaultTransaction) SetSignature ¶
func (t *DefaultTransaction) SetSignature(signature []byte)
type DefaultValidator ¶
type DefaultValidator struct{}
DefaultValidator 객체는 Validator interface를 구현한 객체.
func (*DefaultValidator) BuildSeal ¶
func (t *DefaultValidator) BuildSeal(timeStamp time.Time, prevSeal []byte, txSeal [][]byte, creator string) ([]byte, error)
BuildSeal 함수는 block 객체를 받아서 Seal 값을 만들고, Seal 값을 반환한다. 인풋 파라미터의 block에 자동으로 할당해주지는 않는다.
func (*DefaultValidator) BuildTxSeal ¶
func (t *DefaultValidator) BuildTxSeal(txList []common.Transaction) ([][]byte, error)
BuildTxSeal 함수는 Transaction 배열을 받아서 TxSeal을 생성하여 반환한다.
func (*DefaultValidator) ValidateSeal ¶
ValidateSeal 함수는 원래 Seal 값과 주어진 Seal 값(comparisonSeal)을 비교하여, 올바른지 검증한다.
func (*DefaultValidator) ValidateTransaction ¶
func (t *DefaultValidator) ValidateTransaction(txSeal [][]byte, transaction common.Transaction) (bool, error)
ValidateTransaction 함수는 주어진 Transaction이 이 txSeal에 올바로 있는지를 확인한다.
func (*DefaultValidator) ValidateTxSeal ¶
func (t *DefaultValidator) ValidateTxSeal(txSeal [][]byte, txList []common.Transaction) (bool, error)
ValidateTxSeal 함수는 주어진 Transaction 리스트에 따라 주어진 transaction Seal을 검증함.
type Status ¶
type Status int
Status 변수는 Transaction의 상태를 Unconfirmed, Confirmed, Unknown 중 하나로 표현함.
type TxData ¶
type TxData struct { Jsonrpc string Method TxDataType Params Params ID string }
TxData 구조체는 Jsonrpc에서 invoke하는 함수를 정의한다.
type TxDataType ¶
type TxDataType string
TxDataType 변수는 Transaction의 함수가 invoke인지 query인지 표현한다.
const ( Invoke TxDataType = "invoke" Query TxDataType = "query" )
TxData의 Type을 정의하는 상수들