Documentation
¶
Index ¶
- Constants
- func GenTrustAddressID(address, symbol string) string
- func SignRawTransaction(rawTx *RawTransaction, key *hdkeystore.HDKey) error
- func SignTxHash(signatures map[string][]*KeySignature, key *hdkeystore.HDKey) (map[string][]*KeySignature, error)
- type APINode
- func (api *APINode) AddObserver(obj OpenwNotificationObject) error
- func (api *APINode) BindAppDevice() error
- func (api *APINode) BindDevice(deviceID string, sync bool, reqFunc func(status uint64, msg string)) error
- func (api *APINode) CallSmartContractABI(accountID string, coin Coin, abiParam []string, raw string, rawType uint64, ...) error
- func (api *APINode) CreateAddress(walletID string, accountID string, count uint64, sync bool, ...) error
- func (api *APINode) CreateBatchAddress(walletID string, accountID string, count uint64, sync bool, ...) error
- func (api *APINode) CreateNormalAccount(accountParam *Account, sync bool, ...) error
- func (api *APINode) CreateSmartContractTrade(sid string, accountID string, coin Coin, abiParam []string, raw string, ...) error
- func (api *APINode) CreateSummaryTx(accountID string, sumAddress string, coin Coin, feeRate string, ...) error
- func (api *APINode) CreateTrade(accountID string, sid string, coin Coin, amount string, address string, ...) error
- func (api *APINode) CreateWallet(wallet *Wallet, sync bool, ...) error
- func (api *APINode) FindAccountByAccountID(accountID string, refresh int, sync bool, ...) error
- func (api *APINode) FindAccountByParams(params map[string]interface{}, offset int, limit int, sync bool, ...) error
- func (api *APINode) FindAccountByWalletID(walletID string, sync bool, ...) error
- func (api *APINode) FindAddressByAccountID(accountID string, offset int, limit int, sync bool, ...) error
- func (api *APINode) FindAddressByAddress(address string, sync bool, ...) error
- func (api *APINode) FindAddressByParams(params map[string]interface{}, offset int, limit int, sync bool, ...) error
- func (api *APINode) FindSmartContractReceiptByParams(params map[string]interface{}, sync bool, ...) error
- func (api *APINode) FindTradeLog(walletID string, accountID string, symbol string, txid string, address string, ...) error
- func (api *APINode) FindTradeLogByParams(params map[string]interface{}, sync bool, ...) error
- func (api *APINode) FindWalletByParams(params map[string]interface{}, offset int, limit int, sync bool, ...) error
- func (api *APINode) FindWalletByWalletID(walletID string, sync bool, ...) error
- func (api *APINode) FollowSmartContractReceipt(followContracts []string, sync bool, reqFunc func(status uint64, msg string)) error
- func (api *APINode) GetAllTokenBalanceByAccount(accountID string, symbol string, sync bool, ...) error
- func (api *APINode) GetAllTokenBalanceByAddress(accountID string, address string, symbol string, sync bool, ...) error
- func (api *APINode) GetContracts(symbol, contractID string, offset, limit int, sync bool, ...) error
- func (api *APINode) GetFeeRate(symbol string, sync bool, ...) error
- func (api *APINode) GetFeeRateList(sync bool, reqFunc func(status uint64, msg string, feeRates []SupportFeeRate)) error
- func (api *APINode) GetNotifierNodeInfo() (string, string, error)
- func (api *APINode) GetSymbolBlockList(symbol string, sync bool, ...) error
- func (api *APINode) GetSymbolList(symbol string, offset, limit, hasRole int, sync bool, ...) error
- func (api *APINode) GetTokenBalanceByAccount(accountID string, contractID string, sync bool, ...) error
- func (api *APINode) ImportAccount(accountParam *Account, sync bool, ...) error
- func (api *APINode) ImportBatchAddress(walletID, accountID, memo string, addressAndPubs map[string]string, ...) error
- func (api *APINode) NodeID() string
- func (api *APINode) OWTPNode() *owtp.OWTPNode
- func (api *APINode) ProxyNode() (*ProxyNode, error)
- func (api *APINode) RemoveObserver(obj OpenwNotificationObject) error
- func (api *APINode) ServeNotification(listenAddr string, connectType string) error
- func (api *APINode) ServeProxyNode(address string) (*ProxyNode, error)
- func (api *APINode) ServeTransmitNode(address string) error
- func (api *APINode) StopProxyNode() error
- func (api *APINode) StopServeNotification(connectType string)
- func (api *APINode) StopTransmitNode(port int) error
- func (api *APINode) SubmitSmartContractTrade(rawTx []*SmartContractRawTransaction, sync bool, ...) error
- func (api *APINode) SubmitTrade(rawTx []*RawTransaction, sync bool, ...) error
- func (api *APINode) Subscribe(subscribeMethod []string, listenAddr string, callbackMode int, ...) error
- func (api *APINode) TransmitNode() (*TransmitNode, error)
- func (api *APINode) VerifyAddress(symbol, address string, sync bool, ...) error
- type APINodeConfig
- type Account
- type Address
- type Balance
- type BlockHeader
- type CallbackNode
- type Coin
- type ErrorMsg
- type FailedRawTransaction
- type FailureSmartContractLog
- type FeesSupportAccount
- type KeySignature
- type OpenwNotificationObject
- type ProxyNode
- func (proxyNode *ProxyNode) APINode() (*APINode, error)
- func (proxyNode *ProxyNode) Close()
- func (proxyNode *ProxyNode) Listen()
- func (proxyNode *ProxyNode) OWTPNode() (*owtp.OWTPNode, error)
- func (proxyNode *ProxyNode) SetProxyRequestHandler(h func(ctx *owtp.Context) bool)
- func (proxyNode *ProxyNode) SetProxyResponseHandler(h func(ctx *owtp.Context) bool)
- type RawTransaction
- type SmartContractCallResult
- type SmartContractEvent
- type SmartContractRawTransaction
- type SmartContractReceipt
- type SummaryAccountTask
- type SummaryContractTask
- type SummarySetting
- type SummaryTask
- type SummaryTaskLog
- type SummaryWalletTask
- type SupportFeeRate
- type Symbol
- type TokenBalance
- type TokenContract
- type Transaction
- type TransmitNode
- func (transmit *TransmitNode) APINode() (*APINode, error)
- func (transmit *TransmitNode) AppendSummaryTaskViaTrustNode(nodeID string, summaryTask *SummaryTask, sync bool, ...) error
- func (transmit *TransmitNode) Close()
- func (transmit *TransmitNode) CreateAccountViaTrustNode(nodeID, walletID, alias, password, symbol string, sync bool, ...) error
- func (transmit *TransmitNode) CreateWalletViaTrustNode(nodeID, alias, password string, sync bool, ...) error
- func (transmit *TransmitNode) FindSummaryInfoByWalletIDViaTrustNode(nodeID string, walletID string, sync bool, ...) error
- func (transmit *TransmitNode) GetCurrentSummaryTaskViaTrustNode(nodeID string, sync bool, ...) error
- func (transmit *TransmitNode) GetLocalWalletListViaTrustNode(nodeID string, sync bool, ...) error
- func (transmit *TransmitNode) GetSummaryTaskLogViaTrustNode(nodeID string, offset int, limit int, sync bool, ...) error
- func (transmit *TransmitNode) GetTrustAddressListViaTrustNode(nodeID string, symbol string, sync bool, ...) error
- func (transmit *TransmitNode) GetTrustNodeInfo(nodeID string, sync bool, ...) error
- func (transmit *TransmitNode) Listen()
- func (transmit *TransmitNode) OWTPNode() (*owtp.OWTPNode, error)
- func (transmit *TransmitNode) RemoveSummaryTaskViaTrustNode(nodeID string, walletID string, accountID string, sync bool, ...) error
- func (transmit *TransmitNode) SendTransactionViaTrustNode(nodeID string, accountID string, password string, sid string, ...) error
- func (transmit *TransmitNode) SetConnectHandler(h func(transmitNode *TransmitNode, nodeInfo *TrustNodeInfo))
- func (transmit *TransmitNode) SetDisconnectHandler(h func(transmitNode *TransmitNode, nodeID string))
- func (transmit *TransmitNode) SetSummaryInfoViaTrustNode(nodeID string, summarySetting *SummarySetting, sync bool, ...) error
- func (transmit *TransmitNode) SignHashViaTrustNode(nodeID string, walletID string, accountID string, address string, ...) error
- func (transmit *TransmitNode) SignTransactionViaTrustNode(nodeID string, walletID string, rawTx *RawTransaction, password string, ...) error
- func (transmit *TransmitNode) StartSummaryTaskViaTrustNode(nodeID string, cycleSec int, summaryTask *SummaryTask, operateType int, ...) error
- func (transmit *TransmitNode) StopSummaryTaskViaTrustNode(nodeID string, sync bool, reqFunc func(status uint64, msg string)) error
- func (transmit *TransmitNode) TriggerABIViaTrustNode(nodeID string, accountID string, password string, sid string, ...) error
- func (transmit *TransmitNode) UpdateInfoViaTrustNode(nodeID string, sync bool, reqFunc func(status uint64, msg string)) error
- type TrustAddress
- type TrustNodeInfo
- type Wallet
Constants ¶
const ( /* 回调模式 */ CallbackModeCurrentConnection = 1 //当前连接模式,长连接可以用当前连接,接收推送 CallbackModeNewConnection = 2 //新建连接模式,短连接可以采用建立回调服务接口接收推送 )
const ( /* 汇总任务操作类型 */ SummaryTaskOperateTypeReset = 0 //重置 SummaryTaskOperateTypeAdd = 1 //追加 )
const ( SubscribeToAccount = "subscribeToAccount" //订阅余额更新通信 SubscribeToTrade = "subscribeToTrade" //订阅新交易单通知 SubscribeToBlock = "subscribeToBlock" //订阅新区块链头通知 SubscribeToSmartContractReceipt = "subscribeToSmartContractReceipt" //订阅智能合约交易回执通知 )
const (
HostNodeID = "openw-server"
)
Variables ¶
This section is empty.
Functions ¶
func GenTrustAddressID ¶
func SignRawTransaction ¶
func SignRawTransaction(rawTx *RawTransaction, key *hdkeystore.HDKey) error
SignRawTransaction 签名交易单
func SignTxHash ¶
func SignTxHash(signatures map[string][]*KeySignature, key *hdkeystore.HDKey) (map[string][]*KeySignature, error)
SignTxHash 签名交易单Hash
Types ¶
type APINode ¶
type APINode struct {
// contains filtered or unexported fields
}
APINode APINode通信节点
func NewAPINodeWithError ¶
func NewAPINodeWithError(config *APINodeConfig) (*APINode, error)
NewAPINodeWithError 创建API节点
func (*APINode) AddObserver ¶
func (api *APINode) AddObserver(obj OpenwNotificationObject) error
AddObserver 添加观测者
func (*APINode) BindAppDevice ¶
BindAppDevice 绑定通信节点 绑定节点ID成功,才能获得授权通信
func (*APINode) BindDevice ¶
func (api *APINode) BindDevice( deviceID string, sync bool, reqFunc func(status uint64, msg string)) error
BindDevice 绑定设备ID
func (*APINode) CallSmartContractABI ¶
func (api *APINode) CallSmartContractABI( accountID string, coin Coin, abiParam []string, raw string, rawType uint64, sync bool, reqFunc func(status uint64, msg string, callResult *SmartContractCallResult), ) error
CallSmartContractABI 调用智能合约ABI方法
func (*APINode) CreateAddress ¶
func (api *APINode) CreateAddress( walletID string, accountID string, count uint64, sync bool, reqFunc func(status uint64, msg string, addresses []*Address)) error
CreateAddress 创建资产账户的地址
func (*APINode) CreateBatchAddress ¶
func (api *APINode) CreateBatchAddress( walletID string, accountID string, count uint64, sync bool, reqFunc func(status uint64, msg string, addresses []string)) error
CreateBatchAddress 批量创建资产账户的地址
func (*APINode) CreateNormalAccount ¶
func (api *APINode) CreateNormalAccount( accountParam *Account, sync bool, reqFunc func(status uint64, msg string, account *Account, addresses []*Address)) error
CreateAccount 创建资产账户
func (*APINode) CreateSmartContractTrade ¶
func (api *APINode) CreateSmartContractTrade( sid string, accountID string, coin Coin, abiParam []string, raw string, rawType uint64, feeRate string, value string, sync bool, reqFunc func(status uint64, msg string, rawTx *SmartContractRawTransaction), ) error
CreateSmartContractTrade 创建智能合约交易单 @param sid 必填 业务编号 @param accountID 必填 账户ID @param coin 必填 币种信息 @param abiParam 可选 ABI参数组 @param raw 可选 原始交易单 @param rawType 可选 原始交易单编码类型,0:hex字符串,1:json字符串,2:base64字符串 @param feeRate 可选 自定义手续费率 @param value 可选 主币数量 @param sync 必填 是否同步线程 @param reqFunc 必填 回调函数处理
func (*APINode) CreateSummaryTx ¶
func (api *APINode) CreateSummaryTx( accountID string, sumAddress string, coin Coin, feeRate string, minTransfer string, retainedBalance string, addressStartIndex int, addressLimit int, confirms uint64, sid string, feesSupportAccount *FeesSupportAccount, memo string, sync bool, reqFunc func(status uint64, msg string, rawTxs []*RawTransaction)) error
CreateSummaryTx 创建汇总交易单
func (*APINode) CreateTrade ¶
func (api *APINode) CreateTrade( accountID string, sid string, coin Coin, amount string, address string, feeRate string, memo string, extParam string, sync bool, reqFunc func(status uint64, msg string, rawTx *RawTransaction), ) error
CreateTrade 创建转账交易订单
func (*APINode) CreateWallet ¶
func (api *APINode) CreateWallet(wallet *Wallet, sync bool, reqFunc func(status uint64, msg string, wallet *Wallet)) error
CreateWallet 创建钱包
func (*APINode) FindAccountByAccountID ¶
func (api *APINode) FindAccountByAccountID(accountID string, refresh int, sync bool, reqFunc func(status uint64, msg string, account *Account)) error
FindAccountByAccountID 通过资产账户ID获取资产账户信息
func (*APINode) FindAccountByParams ¶
func (api *APINode) FindAccountByParams( params map[string]interface{}, offset int, limit int, sync bool, reqFunc func(status uint64, msg string, accounts []*Account), ) error
FindAccountByParams 根据条件查询账户列表
func (*APINode) FindAccountByWalletID ¶
func (api *APINode) FindAccountByWalletID(walletID string, sync bool, reqFunc func(status uint64, msg string, accounts []*Account)) error
FindAccountByWalletID 通过钱包ID获取资产账户列表信息
func (*APINode) FindAddressByAccountID ¶
func (api *APINode) FindAddressByAccountID(accountID string, offset int, limit int, sync bool, reqFunc func(status uint64, msg string, addresses []*Address)) error
FindAccountByWalletID 通过资产账户ID获取交易地址列表
func (*APINode) FindAddressByAddress ¶
func (api *APINode) FindAddressByAddress(address string, sync bool, reqFunc func(status uint64, msg string, address *Address)) error
FindAddressByAddress 通获取具体交易地址信息
func (*APINode) FindAddressByParams ¶
func (api *APINode) FindAddressByParams( params map[string]interface{}, offset int, limit int, sync bool, reqFunc func(status uint64, msg string, addresses []*Address), ) error
FindAddressByParams 过条件查询地址列表
func (*APINode) FindSmartContractReceiptByParams ¶
func (api *APINode) FindSmartContractReceiptByParams( params map[string]interface{}, sync bool, reqFunc func(status uint64, msg string, receipts []*SmartContractReceipt), ) error
FindSmartContractReceiptByParams 获取智能合约交易回执
func (*APINode) FindTradeLog ¶
func (api *APINode) FindTradeLog( walletID string, accountID string, symbol string, txid string, address string, isTmp int, orderType int, start_height int64, end_height int64, height int64, isDesc bool, offset int, limit int, sync bool, reqFunc func(status uint64, msg string, tx []*Transaction), ) error
FindTradeLog 获取转账交易订单日志
func (*APINode) FindTradeLogByParams ¶
func (api *APINode) FindTradeLogByParams( params map[string]interface{}, sync bool, reqFunc func(status uint64, msg string, tx []*Transaction), ) error
new
func (*APINode) FindWalletByParams ¶
func (api *APINode) FindWalletByParams( params map[string]interface{}, offset int, limit int, sync bool, reqFunc func(status uint64, msg string, wallets []*Wallet), ) error
FindWalletByParams 查询钱包列表
func (*APINode) FindWalletByWalletID ¶
func (api *APINode) FindWalletByWalletID(walletID string, sync bool, reqFunc func(status uint64, msg string, wallet *Wallet)) error
FindWalletByWalletID 通过钱包ID获取钱包信息
func (*APINode) FollowSmartContractReceipt ¶
func (api *APINode) FollowSmartContractReceipt( followContracts []string, sync bool, reqFunc func(status uint64, msg string), ) error
FollowSmartContractReceipt 订阅要关注智能合约回执通知
func (*APINode) GetAllTokenBalanceByAccount ¶
func (api *APINode) GetAllTokenBalanceByAccount( accountID string, symbol string, sync bool, reqFunc func(status uint64, msg string, balance []*TokenBalance)) error
GetAllTokenBalanceByAccount 获取账户所有token余额接口
func (*APINode) GetAllTokenBalanceByAddress ¶
func (api *APINode) GetAllTokenBalanceByAddress( accountID string, address string, symbol string, sync bool, reqFunc func(status uint64, msg string, balance []*TokenBalance)) error
GetAllTokenBalanceByAddress 获取地址的token余额接口
func (*APINode) GetContracts ¶
func (api *APINode) GetContracts( symbol, contractID string, offset, limit int, sync bool, reqFunc func(status uint64, msg string, tokenContract []*TokenContract)) error
GetContracts 获取智能合约
func (*APINode) GetFeeRate ¶
func (api *APINode) GetFeeRate( symbol string, sync bool, reqFunc func(status uint64, msg string, symbol, feeRate, unit string)) error
GetFeeRate 获取推荐手续费率接口
func (*APINode) GetFeeRateList ¶
func (*APINode) GetNotifierNodeInfo ¶
GetNotifierNodeInfo 获取通知者节点信息
func (*APINode) GetSymbolBlockList ¶
func (api *APINode) GetSymbolBlockList( symbol string, sync bool, reqFunc func(status uint64, msg string, blockHeaders []*BlockHeader)) error
GetSymbolBlockList 获取币种最大高度
func (*APINode) GetSymbolList ¶
func (api *APINode) GetSymbolList(symbol string, offset, limit, hasRole int, sync bool, reqFunc func(status uint64, msg string, total int, symbols []*Symbol)) error
GetSymbolList 获取主链列表
func (*APINode) GetTokenBalanceByAccount ¶
func (api *APINode) GetTokenBalanceByAccount( accountID string, contractID string, sync bool, reqFunc func(status uint64, msg string, balance *TokenBalance)) error
GetTokenBalanceByAccount 获取token余额接口
func (*APINode) ImportAccount ¶
func (api *APINode) ImportAccount( accountParam *Account, sync bool, reqFunc func(status uint64, msg string, account *Account, addresses []*Address)) error
ImportAccount 导入第三方资产账户
func (*APINode) ImportBatchAddress ¶
func (api *APINode) ImportBatchAddress( walletID, accountID, memo string, addressAndPubs map[string]string, updateBalance bool, sync bool, reqFunc func(status uint64, msg string, importAddresses []string)) error
ImportBatchAddress 批量导入地址
func (*APINode) RemoveObserver ¶
func (api *APINode) RemoveObserver(obj OpenwNotificationObject) error
RemoveObserver 移除观测者
func (*APINode) ServeNotification ¶
ServeNotification 开启监听服务,接收通知
func (*APINode) ServeProxyNode ¶
ServeProxyNode 开启代理服务
func (*APINode) ServeTransmitNode ¶
ServeTransmitNode 启动转发服务节点
func (*APINode) StopServeNotification ¶
StopServeNotification 关闭监听通知
func (*APINode) StopTransmitNode ¶
StopTransmitNode 停止转发服务节点
func (*APINode) SubmitSmartContractTrade ¶
func (api *APINode) SubmitSmartContractTrade( rawTx []*SmartContractRawTransaction, sync bool, reqFunc func(status uint64, msg string, successTx []*SmartContractReceipt, failedRawTxs []*FailureSmartContractLog), ) error
SubmitSmartContractTrade 广播转账交易订单
func (*APINode) SubmitTrade ¶
func (api *APINode) SubmitTrade( rawTx []*RawTransaction, sync bool, reqFunc func(status uint64, msg string, successTx []*Transaction, failedRawTxs []*FailedRawTransaction), ) error
SubmitTrade 广播转账交易订单
func (*APINode) Subscribe ¶
func (api *APINode) Subscribe(subscribeMethod []string, listenAddr string, callbackMode int, callbackNode CallbackNode, subscribeToken string) error
Subscribe 订阅
func (*APINode) TransmitNode ¶
func (api *APINode) TransmitNode() (*TransmitNode, error)
TransmitNode 转发节点
type APINodeConfig ¶
type APINodeConfig struct { Host string `json:"host"` AppID string `json:"appid"` AppKey string `json:"appkey"` ConnectType string `json:"connectType"` EnableKeyAgreement bool `json:"enableKeyAgreement"` EnableSSL bool `json:"enableSSL"` EnableSignature bool `json:"enableSignature"` Cert owtp.Certificate `json:"cert"` TimeoutSEC int `json:"timeoutSEC"` }
type Account ¶
type Account struct { AppID string `json:"appID" bson:"appID"` WalletID string `json:"walletID" bson:"walletID"` AccountID string `json:"accountID" bson:"accountID"` Alias string `json:"alias" bson:"alias"` Symbol string `json:"symbol" bson:"symbol"` OtherOwnerKeys []string `json:"otherOwnerKeys" bson:"otherOwnerKeys"` ReqSigs int64 `json:"reqSigs" bson:"reqSigs"` IsTrust int64 `json:"isTrust" bson:"isTrust"` Password string `json:"password" bson:"password"` PublicKey string `json:"publicKey" bson:"publicKey"` HdPath string `json:"hdPath" bson:"hdPath"` ContractAddress string `json:"contractAddress" bson:"contractAddress"` AccountIndex int64 `json:"accountIndex" bson:"accountIndex"` Balance string `json:"balance" bson:"balance"` ConfirmBalance string `json:"confirmBalance" bson:"confirmBalance"` UnconfirmBalance string `json:"unconfirmBalance" bson:"unconfirmBalance"` ExtInfo string `json:"extInfo" bson:"extInfo"` AddressIndex int64 `json:"addressIndex" bson:"addressIndex"` Applytime int64 `json:"applytime" bson:"applytime"` Dealstate int64 `json:"dealstate" bson:"dealstate"` ReuseIndex int64 `json:"reuseIndex" bson:"reuseIndex"` }
type Address ¶
type Address struct { AppID string `json:"appID" bson:"appID"` WalletID string `json:"walletID" bson:"walletID"` AccountID string `json:"accountID" bson:"accountID"` Alias string `json:"alias" bson:"alias"` Symbol string `json:"symbol" bson:"symbol"` AddrIndex int64 `json:"addrIndex" bson:"addrIndex"` Address string `json:"address" bson:"address"` Balance string `json:"balance" bson:"balance"` ConfirmBalance string `json:"confirmBalance" bson:"confirmBalance"` UnconfirmBalance string `json:"unconfirmBalance" bson:"unconfirmBalance"` IsMemo int64 `json:"isMemo" bson:"isMemo"` Memo string `json:"memo" bson:"memo"` WatchOnly int64 `json:"watchOnly" bson:"watchOnly"` PublicKey string `json:"publicKey" bson:"publicKey"` CreatedAt int64 `json:"createdAt" bson:"createdAt"` Num int64 `json:"num" bson:"num"` Tag string `json:"tag" bson:"tag"` HdPath string `json:"hdPath" bson:"hdPath"` IsChange int64 `json:"isChange" bson:"isChange"` Applytime int64 `json:"applytime" bson:"applytime"` Dealstate int64 `json:"dealstate" bson:"dealstate"` }
type Balance ¶
type Balance struct { Symbol string `json:"symbol" bson:"symbol"` AccountID string `json:"accountID" bson:"accountID"` Address string `json:"address" bson:"address"` BalanceType int64 `json:"type" bson:"type"` Balance string `json:"balance" bson:"balance"` ConfirmBalance string `json:"confirmBalance" bson:"confirmBalance"` UnconfirmBalance string `json:"unconfirmBalance" bson:"unconfirmBalance"` }
func NewBalance ¶
type BlockHeader ¶
type BlockHeader struct { Hash string `json:"hash"` Confirmations uint64 `json:"confirmations"` Merkleroot string `json:"merkleroot"` Previousblockhash string `json:"previousblockhash"` Height uint64 `json:"height"` Version uint64 `json:"version"` Time uint64 `json:"time"` Fork bool `json:"fork"` Symbol string `json:"symbol"` }
func NewBlockHeader ¶
func NewBlockHeader(result gjson.Result) *BlockHeader
type CallbackNode ¶
type CallbackNode struct { NodeID string `json:"nodeID"` //@required 节点ID Address string `json:"address"` //@required 连接IP地址 ConnectType string `json:"connectType"` //@required 连接方式 EnableKeyAgreement bool `json:"enableKeyAgreement"` //是否开启owtp协议协商密码 EnableSSL bool `json:"enableSSL"` //是否开启链接SSL,https,wss EnableSignature bool `json:"enableSignature"` //是否开启owtp协议内签名,防重放 // contains filtered or unexported fields }
func NewCallbackNode ¶
func NewCallbackNode(result gjson.Result) *CallbackNode
type Coin ¶
type FailedRawTransaction ¶
type FailedRawTransaction struct { RawTx *RawTransaction `json:"rawTx"` Reason string `json:"error"` }
type FailureSmartContractLog ¶
type FailureSmartContractLog struct { RawTx *SmartContractRawTransaction `json:"rawTx"` Reason string `json:"error"` }
FailureSmartContractLog 广播失败的交易单
type FeesSupportAccount ¶
type FeesSupportAccount struct { AccountID string `json:"accountID"` //手续费账户ID LowBalanceWarning string `json:"lowBalanceWarning"` //余额过低报警值 LowBalanceStop string `json:"lowBalanceStop"` //余额过低停止手续费支持 FixSupportAmount string `json:"fixSupportAmount"` FeesScale string `json:"feesScale"` IsTokenContract bool `json:"isTokenContract"` //手续费是否合约代币 ContractAddress string `json:"contractAddress"` //合约地址 }
FeesSupportAccount 主币余额不足时,可选择一个账户提供手续费
type KeySignature ¶
type KeySignature struct { EccType uint32 `json:"eccType"` //曲线类型 RSV bool `json:"rsv"` //签名是否需要拼接V Nonce string `json:"nonce"` //nonce Address string `json:"address"` //提供签名的地址 Signature string `json:"signed"` //未花签名 Message string `json:"msg"` //被签消息 DerivedPath string `json:"derivedPath"` //密钥路径 WalletID string `json:"walletID"` //钱包ID InputIndex uint32 `json:"inputIndex"` //input索引位 }
type OpenwNotificationObject ¶
type OpenwNotificationObject interface { //OpenwNewTransactionNotify openw新交易单通知 OpenwNewTransactionNotify(transaction *Transaction, subscribeToken string) (bool, error) //OpenwNewBlockNotify openw新区块头通知 OpenwNewBlockNotify(blockHeader *BlockHeader, subscribeToken string) (bool, error) //OpenwBalanceUpdateNotify openw余额更新 OpenwBalanceUpdateNotify(balance *Balance, tokenBalance *TokenBalance, subscribeToken string) (bool, error) //OpenwNewSmartContractReceiptNotify 智能合约交易回执通知 OpenwNewSmartContractReceiptNotify(receipt *SmartContractReceipt, subscribeToken string) (bool, error) }
OpenwNotificationObject openw-server的通知对象
type ProxyNode ¶
type ProxyNode struct {
// contains filtered or unexported fields
}
ProxyNode 代理节点,用于承担转发客户端的请求到openw-server,返回结果给客户端
func (*ProxyNode) SetProxyRequestHandler ¶
SetProxyRequestHandler 通过设置请求处理器,你可以在请求被中转前进行一些自定义操作
type RawTransaction ¶
type RawTransaction struct { Coin Coin `json:"coin"` //@required 区块链类型标识 TxID string `json:"txID"` //交易单ID,广播后会生成 Sid string `json:"sid"` //业务订单号,保证业务不重复交易而用 RawHex string `json:"rawHex"` //区块链协议构造的交易原生数据 FeeRate string `json:"feeRate"` //自定义费率 To map[string]string `json:"to"` //@required 目的地址:转账数量 AccountID string `json:"accountID"` //@required 创建交易单的账户 Signatures map[string][]*KeySignature `json:"sigParts"` //拥有者accountID: []未花签名 Required uint64 `json:"reqSigs"` //必要签名 Fees string `json:"fees"` //手续费 ErrorMsg *ErrorMsg `json:"errorMsg"` ExtParam string `json:"extParam"` }
type SmartContractCallResult ¶
type SmartContractCallResult struct { Method string `json:"method"` //调用方法 Value string `json:"value"` //json结果 RawHex string `json:"rawHex"` //16进制字符串结果 Status uint64 `json:"status"` //0:成功,1:失败 Exception string `json:"exception"` //异常错误 }
SmartContractCallResult 调用结果,不产生交易
type SmartContractEvent ¶
type SmartContractEvent struct { Symbol string `json:"symbol"` //主币类型 ContractID string `json:"contractID"` //合约ID ContractName string `json:"contractName"` //合约名称 ContractAddr string `json:"contractAddr"` //合约地址 Event string `json:"event"` //记录事件 Value string `json:"value"` //结果参数,json字符串 }
SmartContractEvent 事件记录
type SmartContractRawTransaction ¶
type SmartContractRawTransaction struct { Coin Coin `json:"coin"` //@required 区块链类型标识 TxID string `json:"txID"` //交易单ID,广播后会生成 Sid string `json:"sid"` //@required 业务订单号,保证业务不重复交易而用 AccountID string `json:"accountID"` //@required 创建交易单的账户 Signatures map[string][]*KeySignature `json:"sigParts"` //拥有者accountID: []未花签名 Raw string `json:"raw"` //交易单调用参数,根据RawType填充数据 RawType uint64 `json:"rawType"` // 0:hex字符串,1:json字符串,2:base64字符串 ABIParam []string `json:"abiParam"` //abi调用参数,[method, arg1, arg2, args...] Value string `json:"value"` //主币数量 FeeRate string `json:"feeRate"` //自定义费率 Fees string `json:"fees"` //手续费 AwaitResult bool `json:"awaitResult"` //是否广播后同时等待结果 AwaitTimeout uint64 `json:"awaitTimeout"` //广播后等待超时秒,0 = 默认超时90秒 }
SmartContractRawTransaction 智能合约原始交易单
type SmartContractReceipt ¶
type SmartContractReceipt struct { WxID string `json:"wxid" storm:"id"` //@required 通过GenTransactionWxID计算 TxID string `json:"txid"` //@required FromAddress string `json:"fromAddress"` //@required 调用者 ToAddress string `json:"toAddress"` //@required 调用地址,与合约地址一致 Value string `json:"value"` //主币数量 Fees string `json:"fees"` //手续费 Symbol string `json:"symbol"` //主链标识 ContractID string `json:"contractID"` //合约ID ContractName string `json:"contractName"` //合约名字 ContractAddr string `json:"contractAddr"` //合约地址 BlockHash string `json:"blockHash"` //@required BlockHeight uint64 `json:"blockHeight"` //@required IsMain int64 `json:"isMain"` //1.区块数据正常 2.重扫或分叉状态 Applytime int64 `json:"applytime"` //订单申请时间 SubmitTime int64 `json:"submitTime"` //订单提交时间 Succtime int64 `json:"succtime"` //订单处理成功时间 Dealstate int64 `json:"dealstate"` //处理状态 1.未成功 2.已成功 3.已确认 Notifystate int64 `json:"notifystate"` //通知状态 1.未通知 2.已通知 ConfirmTime int64 `json:"confirmTime"` //订单确认时间 Status string `json:"status"` //@required 链上状态,0:失败,1:成功 Success string `json:"success"` //用于判断交易单链上的真实状态,0:失败,1:成功 RawReceipt string `json:"rawReceipt"` //@required 原始交易回执,一般为json Events []*SmartContractEvent `json:"events"` //@required 执行事件, 例如:event Transfer }
type SummaryAccountTask ¶
type SummaryAccountTask struct { AccountID string `json:"accountID"` Contracts map[string]*SummaryContractTask `json:"contracts"` FeeRate string `json:"feeRate"` OnlyContracts bool `json:"onlyContracts"` FeesSupportAccount *FeesSupportAccount `json:"feesSupportAccount"` SwitchSymbol string `json:"switchSymbol"` Memo string `json:"memo"` *SummarySetting }
type SummaryContractTask ¶
type SummaryContractTask struct {
*SummarySetting
}
type SummarySetting ¶
type SummarySetting struct { WalletID string `json:"walletID"` AccountID string `json:"accountID" storm:"id"` SumAddress string `json:"sumAddress"` Threshold string `json:"threshold"` MinTransfer string `json:"minTransfer"` RetainedBalance string `json:"retainedBalance"` Confirms uint64 `json:"confirms"` AddressLimit uint64 `json:"addressLimit"` ReserveAddress string `json:"reserveAddress"` SumToReserve bool `json:"summarizeToReserve"` }
SummarySetting 汇总设置信息
func NewSummarySetting ¶
func NewSummarySetting(result gjson.Result) *SummarySetting
type SummaryTask ¶
type SummaryTask struct {
Wallets []*SummaryWalletTask `json:"wallets"`
}
func NewSummaryTask ¶
func NewSummaryTask(result gjson.Result) *SummaryTask
type SummaryTaskLog ¶
type SummaryTaskLog struct { Sid string `json:"sid" storm:"id"` //汇总执行批次号 WalletID string `json:"walletID"` //汇总钱包ID AccountID string `json:"accountID"` //汇总资产账户ID StartAddrIndex int `json:"startAddrIndex"` //账户汇总起始的地址索引位 EndAddrIndex int `json:"endAddrIndex"` //账户汇总结束的地址索引位 Coin Coin `json:"coin"` //汇总的币种信息 SuccessCount int `json:"successCount"` //汇总交易发送的成功个数 FailCount int `json:"failCount"` //汇总交易发送的失败个数 TxIDs []string `json:"txIDs"` //汇总交易成功的txid Sids []string `json:"sids"` //汇总交易成功批次号 TotalSumAmount string `json:"sumAmount"` //这次汇总总数 TotalCostFees string `json:"sumFees"` //这次汇总总消费手续费 CreateTime int64 `json:"createTime" storm:"index"` //汇总时间 }
type SummaryWalletTask ¶
type SummaryWalletTask struct { WalletID string `json:"walletID"` Password string `json:"password,omitempty"` Accounts []*SummaryAccountTask `json:"accounts"` Wallet *Wallet `json:"wallet,omitempty"` }
func NewSummaryWalletTask ¶
func NewSummaryWalletTask(result gjson.Result) *SummaryWalletTask
type SupportFeeRate ¶
support feeRate
type Symbol ¶
type Symbol struct { Name string `json:"name" bson:"name" storm:"id"` Coin string `json:"coin" bson:"coin"` Curve int64 `json:"curve" bson:"curve"` Orderno int64 `json:"orderno" bson:"orderno"` Confirm int64 `json:"confirm" bson:"confirm"` Decimals int64 `json:"decimals" bson:"decimals"` BalanceMode uint64 `json:"balanceMode" bson:"balanceMode"` Icon string `json:"icon"` SupportMemo uint64 `json:"supportMemo"` //交易是否支持memo, 0: false, 1: true OnlyContract uint64 `json:"onlyContract"` //支持合约代币, 0: false, 1: true WithdrawStop int64 `json:"withdrawStop"` BlockStop int64 `json:"blockStop"` }
type TokenBalance ¶
type TokenBalance struct { ContractID string Token string Address string Balance Balance IsContract int64 }
func NewTokenBalance ¶
func NewTokenBalance(result gjson.Result) *TokenBalance
type TokenContract ¶
type TokenContract struct { ContractID string `json:"contractID" bson:"contractID" storm:"id"` Symbol string `json:"symbol" bson:"symbol"` //主链标记 Name string `json:"name" bson:"name"` Decimals int64 `json:"decimals" bson:"decimals"` Address string `json:"address" bson:"address"` Token string `json:"token" bson:"token"` //token标记 Protocol string `json:"protocol" bson:"protocol"` }
type Transaction ¶
type Transaction struct { AppID string `json:"appID" bson:"appID"` WalletID string `json:"walletID" bson:"walletID"` AccountID string `json:"accountID" bson:"accountID"` Sid string `json:"sid" bson:"sid"` Txid string `json:"txid" bson:"txid"` Wxid string `json:"wxid" bson:"wxid"` FromAddress []string `json:"fromAddress" bson:"fromAddress"` FromAddressV []string `json:"fromAddressV" bson:"fromAddressV"` ToAddress []string `json:"toAddress" bson:"toAddress"` ToAddressV []string `json:"toAddressV" bson:"toAddressV"` Amount string `json:"amount" bson:"amount"` Fees string `json:"fees" bson:"fees"` Type int64 `json:"type" bson:"type"` Symbol string `json:"symbol" bson:"symbol"` ContractID string `json:"contractID" bson:"contractID"` IsContract int64 `json:"isContract" bson:"isContract"` Confirm int64 `json:"confirm" bson:"confirm"` BlockHash string `json:"blockHash" bson:"blockHash"` BlockHeight int64 `json:"blockHeight" bson:"blockHeight"` IsMemo int64 `json:"isMemo" bson:"isMemo"` IsMain int64 `json:"isMain" bson:"isMain"` Memo string `json:"memo" bson:"memo"` Applytime int64 `json:"applytime" bson:"applytime"` SubmitTime int64 `json:"submitTime" bson:"submitTime"` ConfirmTime int64 `json:"confirmTime" bson:"confirmTime"` Decimals int64 `json:"decimals" bson:"decimals"` Succtime int64 `json:"succtime" bson:"succtime"` Dealstate int64 `json:"dealstate" bson:"dealstate"` Notifystate int64 `json:"notifystate" bson:"notifystate"` ContractID2 string `json:"contractID2" bson:"contractID2"` ContractName string `json:"contractName" bson:"contractName"` ContractAddr string `json:"contractAddr" bson:"contractAddr"` Contract map[string]interface{} `json:"contract" bson:"contract"` Success string `json:"success"` //用于判断交易单链上的真实状态,0:失败,1:成功 TxType int64 `json:"txType"` //0:转账, 1:合约调用(发生于主链), >100: 自定义 TxAction string `json:"txAction"` //执行事件, 例如:合约的Transfer事 BalanceMode uint64 `json:"balanceMode" bson:"balanceMode"` //余额模型 0.地址 1.账户 }
func (*Transaction) FromSID ¶
func (tx *Transaction) FromSID(n int) string
func (*Transaction) ToSID ¶
func (tx *Transaction) ToSID(n int) string
type TransmitNode ¶
type TransmitNode struct {
// contains filtered or unexported fields
}
func NewTransmitNode ¶
func NewTransmitNode(config *APINodeConfig) (*TransmitNode, error)
func (*TransmitNode) AppendSummaryTaskViaTrustNode ¶
func (transmit *TransmitNode) AppendSummaryTaskViaTrustNode( nodeID string, summaryTask *SummaryTask, sync bool, reqFunc func(status uint64, msg string)) error
AppendSummaryTaskViaTrustNode 指定节点,追加汇总任务
func (*TransmitNode) CreateAccountViaTrustNode ¶
func (transmit *TransmitNode) CreateAccountViaTrustNode( nodeID, walletID, alias, password, symbol string, sync bool, reqFunc func(status uint64, msg string, account *Account, addresses []*Address)) error
CreateAccountViaTrustNode 指定节点,创建种子托管钱包
func (*TransmitNode) CreateWalletViaTrustNode ¶
func (transmit *TransmitNode) CreateWalletViaTrustNode(nodeID, alias, password string, sync bool, reqFunc func(status uint64, msg string, wallet *Wallet)) error
CreateWalletViaTrustNode 指定节点,创建种子托管钱包
func (*TransmitNode) FindSummaryInfoByWalletIDViaTrustNode ¶
func (transmit *TransmitNode) FindSummaryInfoByWalletIDViaTrustNode( nodeID string, walletID string, sync bool, reqFunc func(status uint64, msg string, summarySettings []*SummarySetting)) error
FindSummaryInfoByWalletIDViaTrustNode 指定节点,获取汇总设置信息
func (*TransmitNode) GetCurrentSummaryTaskViaTrustNode ¶
func (transmit *TransmitNode) GetCurrentSummaryTaskViaTrustNode( nodeID string, sync bool, reqFunc func(status uint64, msg string, summaryTask *SummaryTask)) error
GetCurrentSummaryTaskViaTrustNode 指定节点,获取当前的执行中的汇总任务
func (*TransmitNode) GetLocalWalletListViaTrustNode ¶
func (transmit *TransmitNode) GetLocalWalletListViaTrustNode( nodeID string, sync bool, reqFunc func(status uint64, msg string, wallets []*Wallet)) error
GetLocalWalletListViaTrustNode 指定节点,获取该节点创建的钱包
func (*TransmitNode) GetSummaryTaskLogViaTrustNode ¶
func (transmit *TransmitNode) GetSummaryTaskLogViaTrustNode( nodeID string, offset int, limit int, sync bool, reqFunc func(status uint64, msg string, taskLog []*SummaryTaskLog)) error
GetSummaryTaskLogViaTrustNode 指定节点,获取汇总日志列表
func (*TransmitNode) GetTrustAddressListViaTrustNode ¶
func (transmit *TransmitNode) GetTrustAddressListViaTrustNode( nodeID string, symbol string, sync bool, reqFunc func(status uint64, msg string, trustAddressList []*TrustAddress, enableTrustAddress bool)) error
GetTrustAddressListViaTrustNode 指定节点,获取信任地址列表
func (*TransmitNode) GetTrustNodeInfo ¶
func (transmit *TransmitNode) GetTrustNodeInfo(nodeID string, sync bool, reqFunc func(status uint64, msg string, nodeInfo *TrustNodeInfo)) error
GetTrustNodeInfo 获取授信的托管节点信息
func (*TransmitNode) OWTPNode ¶
func (transmit *TransmitNode) OWTPNode() (*owtp.OWTPNode, error)
OWTPNode
func (*TransmitNode) RemoveSummaryTaskViaTrustNode ¶
func (transmit *TransmitNode) RemoveSummaryTaskViaTrustNode( nodeID string, walletID string, accountID string, sync bool, reqFunc func(status uint64, msg string)) error
RemoveSummaryTaskViaTrustNode 指定节点,移除汇总任务
func (*TransmitNode) SendTransactionViaTrustNode ¶
func (transmit *TransmitNode) SendTransactionViaTrustNode( nodeID string, accountID string, password string, sid string, contractAddress string, amount string, address string, feeRate string, memo string, extParam string, sync bool, reqFunc func(status uint64, msg string, successTx []*Transaction, failedRawTxs []*FailedRawTransaction), ) error
SendTransactionViaTrustNode 创建转账交易订单
func (*TransmitNode) SetConnectHandler ¶
func (transmit *TransmitNode) SetConnectHandler(h func(transmitNode *TransmitNode, nodeInfo *TrustNodeInfo))
SetConnectHandler 设置托管节点断开连接后的通知
func (*TransmitNode) SetDisconnectHandler ¶
func (transmit *TransmitNode) SetDisconnectHandler(h func(transmitNode *TransmitNode, nodeID string))
SetDisconnectHandler 设置托管节点连接成功的通知
func (*TransmitNode) SetSummaryInfoViaTrustNode ¶
func (transmit *TransmitNode) SetSummaryInfoViaTrustNode( nodeID string, summarySetting *SummarySetting, sync bool, reqFunc func(status uint64, msg string)) error
SetSummaryInfoViaTrustNode 指定节点,设置汇总信息
func (*TransmitNode) SignHashViaTrustNode ¶
func (transmit *TransmitNode) SignHashViaTrustNode( nodeID string, walletID string, accountID string, address string, message string, password string, symbol string, hdPath string, sync bool, reqFunc func(status uint64, msg string, signature string), ) error
SignHashViaTrustNode 通过节点签名哈希消息 @param walletID 必填 节点ID @param accountID 必填 钱包ID @param message 必填 账户ID @param password 可选 钱包解锁密码 @param address 必填 地址 @param symbol 可选 主链标识 @param hdPath 可选 子密钥路径 @param sync 必填 是否同步线程 @param reqFunc 必填 回调函数处理
func (*TransmitNode) SignTransactionViaTrustNode ¶
func (transmit *TransmitNode) SignTransactionViaTrustNode( nodeID string, walletID string, rawTx *RawTransaction, password string, sync bool, reqFunc func(status uint64, msg string, signedRawTx *RawTransaction), ) error
SignTransactionViaTrustNode 指定节点,签名交易单
func (*TransmitNode) StartSummaryTaskViaTrustNode ¶
func (transmit *TransmitNode) StartSummaryTaskViaTrustNode( nodeID string, cycleSec int, summaryTask *SummaryTask, operateType int, sync bool, reqFunc func(status uint64, msg string)) error
StartSummaryTaskViaTrustNode 指定节点,启动汇总任务 nodeID 节点ID cycleSec 任务周期间隔 summaryTask 汇总任务 operateType 操作类型:0:重置,1:追加
func (*TransmitNode) StopSummaryTaskViaTrustNode ¶
func (transmit *TransmitNode) StopSummaryTaskViaTrustNode( nodeID string, sync bool, reqFunc func(status uint64, msg string)) error
StopSummaryTaskViaTrustNode 指定节点,停止汇总任务
func (*TransmitNode) TriggerABIViaTrustNode ¶
func (transmit *TransmitNode) TriggerABIViaTrustNode( nodeID string, accountID string, password string, sid string, contractAddress string, contractABI string, amount string, feeRate string, abiParam []string, raw string, rawType uint64, awaitResult bool, sync bool, reqFunc func(status uint64, msg string, receipt *SmartContractReceipt), ) error
TriggerABIViaTrustNode 触发ABI上链调用 @param nodeID 必填 节点ID @param accountID 必填 账户ID @param password 可选 钱包解锁密码 @param contractAddress 必填 合约地址 @param contractABI 可选 ABI定义 @param amount 可选 主币数量 @param feeRate 可选 自定义手续费率 @param abiParam 可选 ABI参数组 @param raw 可选 原始交易单 @param rawType 可选 原始交易单编码类型,0:hex字符串,1:json字符串,2:base64字符串 @param sync 必填 是否同步线程 @param reqFunc 必填 回调函数处理
func (*TransmitNode) UpdateInfoViaTrustNode ¶
func (transmit *TransmitNode) UpdateInfoViaTrustNode( nodeID string, sync bool, reqFunc func(status uint64, msg string)) error
UpdateInfo UpdateInfoViaTrustNode,更新主链信息和合约资料
type TrustAddress ¶
type TrustAddress struct { ID string `json:"id" storm:"id"` Address string `json:"address"` Symbol string `json:"symbol"` Memo string `json:"memo"` CreateTime int64 `json:"createTime"` }
白名单地址
func NewTrustAddress ¶
func NewTrustAddress(address, symbol, memo string) *TrustAddress
type TrustNodeInfo ¶
type Wallet ¶
type Wallet struct { AppID string `json:"appID" bson:"appID"` WalletID string `json:"walletID" bson:"walletID"` Alias string `json:"alias" bson:"alias"` IsTrust int64 `json:"isTrust" bson:"isTrust"` PasswordType int64 `json:"passwordType" bson:"passwordType"` Password string `json:"password" bson:"password"` AuthKey string `json:"authKey" bson:"authKey"` RootPath string `json:"rootPath" bson:"rootPath"` AccountIndex int64 `json:"accountIndex" bson:"accountIndex"` Keystore string `json:"keystore" bson:"keystore"` Applytime int64 `json:"applytime" bson:"applytime"` Dealstate int64 `json:"dealstate" bson:"dealstate"` }