types

package
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Dec 27, 2019 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// OK - all is bueno with the executed Tx. Any non-zero code is an error
	OK uint32 = iota
	// HandlerNotFound - yep...we couldn't find it
	HandlerNotFound
	// BadTx - no bueno, couldn't decode it or something like that
	BadTx
	// NotFound - catch all
	NotFound
	// BadQuery - in store query
	BadQuery
)

Variables

This section is empty.

Functions

func EncodeTx

func EncodeTx(tx *SignedTransaction) ([]byte, error)

EncodeTx returns a []byte or error

Types

type KVStore

type KVStore = store.KVStore

KVStore re-exported for the sdk

type NamedStore added in v0.4.0

type NamedStore struct {
	// contains filtered or unexported fields
}

NamedStore is used to provide scoped, read/write access to storage. Keys in the store are automatically prefixed with the given prefix name.

func NewNamedStore added in v0.4.0

func NewNamedStore(serviceName string, store KVStore) NamedStore

NewNamedStore creates an instance

func (NamedStore) Delete added in v0.4.0

func (ps NamedStore) Delete(key []byte)

Delete a key/value from the store

func (NamedStore) Get added in v0.4.0

func (ps NamedStore) Get(key []byte) ([]byte, error)

Get something from the store by key

func (NamedStore) Has added in v0.4.0

func (ps NamedStore) Has(key []byte) bool

Has : does the store contain the given key?

func (NamedStore) Put added in v0.4.0

func (ps NamedStore) Put(key, value []byte) error

Put a key/value into the store

func (NamedStore) Query added in v0.4.0

func (ps NamedStore) Query(key []byte) ([]byte, error)

Query a value by key from committed state

type Result

type Result struct {
	Code uint32 // Any non-zero code is an error
	Data []byte
	Log  string
}

Result is it returned from a menta app TxHandler By default 'Code' will be zero which mean 'Ok' to tendermint

func ErrorBadTx

func ErrorBadTx() Result

ErrorBadTx is returned when menta can't deserialize a Tx

func ErrorNoHandler

func ErrorNoHandler() Result

ErrorNoHandler is returned when menta can't find a handler for a given route

func ResultError

func ResultError(code uint32, log string) Result

ResultError is returned on an error with a non-zero code

type Service added in v0.3.0

type Service interface {
	// Name is the unique name of the service. Used to register your service in Menta
	Name() string
	// Init is called once, on the very first run of the application.
	// Use this to load genesis data for your service
	Initialize(data []byte, store KVStore)
	// Execute is the primary business logic of your service. This is the blockchain
	// state transistion function
	Execute(sender []byte, msgid uint32, message []byte, store KVStore) Result
	// Query provides read access to storage.
	Query(key []byte, store KVStore) Result
}

Service is the primary interface to implement for application services. A given MentaApp may have 1 or more of these.

type SignedTransaction added in v0.3.0

type SignedTransaction struct {
	Service              string   `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"`
	Sender               []byte   `protobuf:"bytes,2,opt,name=sender,proto3" json:"sender,omitempty"`
	Msgid                uint32   `protobuf:"varint,3,opt,name=msgid,proto3" json:"msgid,omitempty"`
	Msg                  []byte   `protobuf:"bytes,4,opt,name=msg,proto3" json:"msg,omitempty"`
	Nonce                []byte   `protobuf:"bytes,5,opt,name=nonce,proto3" json:"nonce,omitempty"`
	Sig                  []byte   `protobuf:"bytes,6,opt,name=sig,proto3" json:"sig,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Transaction model across client and node.

'msg' is a []byte of application specific content, the application is reponsible for encoding/decoding it.

func DecodeTx

func DecodeTx(raw []byte) (*SignedTransaction, error)

DecodeTx returns a Tx from a []byte

func (*SignedTransaction) Descriptor added in v0.3.0

func (*SignedTransaction) Descriptor() ([]byte, []int)

func (*SignedTransaction) GetMsg added in v0.3.0

func (m *SignedTransaction) GetMsg() []byte

func (*SignedTransaction) GetMsgid added in v0.3.0

func (m *SignedTransaction) GetMsgid() uint32

func (*SignedTransaction) GetNonce added in v0.3.0

func (m *SignedTransaction) GetNonce() []byte

func (*SignedTransaction) GetSender added in v0.3.0

func (m *SignedTransaction) GetSender() []byte

func (*SignedTransaction) GetService added in v0.3.0

func (m *SignedTransaction) GetService() string

func (*SignedTransaction) GetSig added in v0.3.0

func (m *SignedTransaction) GetSig() []byte

func (*SignedTransaction) ProtoMessage added in v0.3.0

func (*SignedTransaction) ProtoMessage()

func (*SignedTransaction) Reset added in v0.3.0

func (m *SignedTransaction) Reset()

func (*SignedTransaction) Sign added in v0.3.0

Sign a transaction

func (*SignedTransaction) String added in v0.3.0

func (m *SignedTransaction) String() string

func (*SignedTransaction) Verify added in v0.3.0

func (tx *SignedTransaction) Verify() bool

Verify a Tx against based on the sender's public key

func (*SignedTransaction) XXX_DiscardUnknown added in v0.3.0

func (m *SignedTransaction) XXX_DiscardUnknown()

func (*SignedTransaction) XXX_Marshal added in v0.3.0

func (m *SignedTransaction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*SignedTransaction) XXX_Merge added in v0.3.0

func (m *SignedTransaction) XXX_Merge(src proto.Message)

func (*SignedTransaction) XXX_Size added in v0.3.0

func (m *SignedTransaction) XXX_Size() int

func (*SignedTransaction) XXX_Unmarshal added in v0.3.0

func (m *SignedTransaction) XXX_Unmarshal(b []byte) error

type Tag

type Tag = cmn.KVPair

Tag defined in tendermint ... common/types.proto

type Tags

type Tags cmn.KVPairs

Tags defined in tendermint ... common/kvpairs.go = []cmn.KVPairs

Jump to

Keyboard shortcuts

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