Documentation ¶
Overview ¶
Package srv provides the JSON RPC 2.0 API server and RPC functions. It calls out to the fatd/db package to obtain data about the current state saved to the DB.
Index ¶
- Constants
- Variables
- func Start(stop <-chan struct{}) (done <-chan struct{})
- type Client
- type Params
- type ParamsGetAllNFTokens
- type ParamsGetBalance
- type ParamsGetBalances
- type ParamsGetNFBalance
- type ParamsGetNFToken
- type ParamsGetTransaction
- type ParamsGetTransactions
- type ParamsPagination
- type ParamsSendTransaction
- type ParamsToken
- type ResultGetBalances
- type ResultGetDaemonProperties
- type ResultGetIssuance
- type ResultGetNFToken
- type ResultGetStats
- type ResultGetSyncStatus
- type ResultGetTransaction
Constants ¶
const (
FatdDefault = "http://localhost:8078"
)
Defaults for the factomd and factom-walletd endpoints.
Variables ¶
var ( ErrorTokenNotFound = jrpc.NewError(-32800, "Token Not Found", "token may be invalid, or not yet issued or tracked") ErrorTransactionNotFound = jrpc.NewError(-32803, "Transaction Not Found", "no matching tx-id was found") ErrorInvalidTransaction = jrpc.NewError(-32804, "Invalid Transaction", nil) ErrorTokenSyncing = jrpc.NewError(-32805, "Token Syncing", "token is in the process of syncing") ErrorNoEC = jrpc.NewError(-32806, "No Entry Credits", "not configured with entry credits") )
var ( APIVersion = "1" FatdVersionHeaderKey = http.CanonicalHeaderKey("Fatd-Version") FatdAPIVersionHeaderKey = http.CanonicalHeaderKey("Fatd-Api-Version") )
Functions ¶
func Start ¶
func Start(stop <-chan struct{}) (done <-chan struct{})
Start the server in its own goroutine. If stop is closed, the server is closed and any goroutines will exit. The done channel is closed when the server exits for any reason. If the done channel is closed before the stop channel is closed, an error occurred. Errors are logged.
Types ¶
type Client ¶ added in v0.5.0
Client makes RPC requests to fatd's APIs. Client embeds a jsonrpc2.Client, and thus also the http.Client. Use jsonrpc2.Client's BasicAuth settings to set up BasicAuth and http.Client's transport settings to configure TLS.
type ParamsGetAllNFTokens ¶
type ParamsGetAllNFTokens struct { ParamsToken ParamsPagination }
func (*ParamsGetAllNFTokens) IsValid ¶
func (p *ParamsGetAllNFTokens) IsValid() error
type ParamsGetBalance ¶
type ParamsGetBalance struct { ParamsToken Address *factom.FAAddress `json:"address,omitempty"` }
func (ParamsGetBalance) IsValid ¶
func (p ParamsGetBalance) IsValid() error
type ParamsGetBalances ¶ added in v0.6.0
func (ParamsGetBalances) IsValid ¶ added in v0.6.0
func (p ParamsGetBalances) IsValid() error
func (ParamsGetBalances) ValidChainID ¶ added in v0.6.0
func (p ParamsGetBalances) ValidChainID() *factom.Bytes32
type ParamsGetNFBalance ¶
type ParamsGetNFBalance struct { ParamsToken ParamsPagination Address *factom.FAAddress `json:"address,omitempty"` }
func (*ParamsGetNFBalance) IsValid ¶
func (p *ParamsGetNFBalance) IsValid() error
type ParamsGetNFToken ¶
type ParamsGetNFToken struct { ParamsToken NFTokenID *fat1.NFTokenID `json:"nftokenid"` }
func (ParamsGetNFToken) IsValid ¶
func (p ParamsGetNFToken) IsValid() error
type ParamsGetTransaction ¶
type ParamsGetTransaction struct { ParamsToken Hash *factom.Bytes32 `json:"entryhash"` }
ParamsGetTransaction is used to query for a single particular transaction with the given Entry Hash.
func (ParamsGetTransaction) IsValid ¶
func (p ParamsGetTransaction) IsValid() error
type ParamsGetTransactions ¶
type ParamsGetTransactions struct { ParamsToken ParamsPagination // Transaction filters NFTokenID *fat1.NFTokenID `json:"nftokenid,omitempty"` Addresses []factom.FAAddress `json:"addresses,omitempty"` StartHash *factom.Bytes32 `json:"entryhash,omitempty"` ToFrom string `json:"tofrom,omitempty"` }
func (*ParamsGetTransactions) IsValid ¶
func (p *ParamsGetTransactions) IsValid() error
type ParamsPagination ¶ added in v0.6.0
type ParamsPagination struct { Page uint64 `json:"page,omitempty"` Limit uint64 `json:"limit,omitempty"` Order string `json:"order,omitempty"` }
func (*ParamsPagination) IsValid ¶ added in v0.6.0
func (p *ParamsPagination) IsValid() error
type ParamsSendTransaction ¶
type ParamsSendTransaction struct { ParamsToken ExtIDs []factom.Bytes `json:"extids"` Content factom.Bytes `json:"content"` }
func (ParamsSendTransaction) Entry ¶
func (p ParamsSendTransaction) Entry() factom.Entry
func (ParamsSendTransaction) IsValid ¶
func (p ParamsSendTransaction) IsValid() error
type ParamsToken ¶
type ParamsToken struct { ChainID *factom.Bytes32 `json:"chainid,omitempty"` TokenID string `json:"tokenid,omitempty"` IssuerChainID *factom.Bytes32 `json:"issuerid,omitempty"` }
ParamsToken scopes a request down to a single FAT token using either the ChainID or both the TokenID and the IssuerChainID.
func (ParamsToken) IsValid ¶
func (p ParamsToken) IsValid() error
func (ParamsToken) ValidChainID ¶
func (p ParamsToken) ValidChainID() *factom.Bytes32
type ResultGetBalances ¶ added in v0.6.0
func (ResultGetBalances) MarshalJSON ¶ added in v0.6.0
func (r ResultGetBalances) MarshalJSON() ([]byte, error)
func (*ResultGetBalances) UnmarshalJSON ¶ added in v0.6.0
func (r *ResultGetBalances) UnmarshalJSON(data []byte) error