jingtumlib

package
v0.0.0-...-61197bd Latest Latest
Warning

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

Go to latest
Published: Sep 1, 2018 License: Apache-2.0 Imports: 23 Imported by: 0

Documentation

Overview

Package jingtumlib Request类主管GET请求,包括获得服务器、账号、挂单、路径等信息。请求时不需要提供密 钥,且对所有用户公开。所有的请求是异步的,会提供一个回调函数。每个回调函数有两个参数,一个是错误,另一个是结果。 @FileName: request.go @Auther : 13851485286 @Email : yangxuebo@yeah.net @CreateTime: 2018-05-28 10:44:32 @UpdateTime: 2018-05-28 10:44:54

Package jingtumlib 底层区块链网络通信服务类,不对外部提供方法。 @FileName: server.go @Auther : 杨雪波 @Email : yangxuebo@yeah.net @CreateTime: 2018-07-31 14:44:32 @UpdateTime: 2018-07-31 14:44:54

Package jingtumlib Transaction类主管POST请求,包括组装交易和交易参数。请求时需要提供密钥,且交易可以 进行本地签名和服务器签名。目前支持服务器签名,本地签名支持主要的交易,还有部分参数 不支持。所有的请求是异步的,会提供一个回调函数。每个回调函数有两个参数,一个是错误,另一个是结果。 @FileName: transaction.go @Auther : 杨雪波 @Email : yangxuebo@yeah.net @CreateTime: 2018-05-28 10:44:32 @UpdateTime: 2018-05-28 10:44:54

Package jingtumlib 钱包类,用于创建和导入钱包等功能。 @FileName: wallet.go @Auther : 杨雪波 @Email : yangxuebo@yeah.net @CreateTime: 2018-07-26 10:44:32 @UpdateTime: 2018-07-26 10:44:54

Index

Constants

This section is empty.

Variables

View Source
var (
	//JTConfig JTConfig
	JTConfig = new(Config)
	//Seq Seq
	Seq = 1
)
View Source
var (
	//TransactionFlags 交易标识
	TransactionFlags = map[string]FlagClass{"Universal": {"FullyCanonicalSig": 0x00010000}, "AccountSet": {"RequireDestTag": 0x00010000, "OptionalDestTag": 0x00020000, "RequireAuth": 0x00040000, "OptionalAuth": 0x00080000, "DisallowSWT": 0x00100000, "AllowSWT": 0x00200000}, "TrustSet": {"SetAuth": 0x00010000, "NoSkywell": 0x00020000, "SetNoSkywell": 0x00020000, "ClearNoSkywell": 0x00040000, "SetFreeze": 0x00100000, "ClearFreeze": 0x00200000}, "OfferCreate": {"Passive": 0x00010000, "ImmediateOrCancel": 0x00020000, "FillOrKill": 0x00040000, "Sell": 0x00080000}, "Payment": {"NoSkywellDirect": 0x00010000, "PartialPayment": 0x00020000, "LimitQuality": 0x00040000}, "RelationSet": {"Authorize": 0x00000001, "Freeze": 0x00000011}, "RelationDel": {}}
	//SetClearFlags 清除标识
	SetClearFlags = map[uint32]AccountSet{uint32(1): {"asfRequireDest": uint32(1), "asfRequireAuth": uint32(2), "asfDisallowSWT": uint32(3), "asfDisableMaster": uint32(4), "asfNoFreeze": uint32(5), "asfGlobalFreeze": uint32(6)}}
)
View Source
var AccountSetTypes = map[string]int{"property": 1, "delegate": 2, "signer": 3}

AccountSetTypes account type 映射

View Source
var (
	//MaxReciveLen 接收最长报文
	MaxReciveLen = 4096000
)
View Source
var OfferTypes = map[string]int{"Sell": 1, "Buy": 2}

OfferTypes offer type 映射

View Source
var RelationTypes = map[string]int{"trust": 1, "authorize": 2, "freeze": 3, "unfreeze": 4}

RelationTypes relation type 映射

Functions

func Exits

func Exits()

Exits 退出

func Init

func Init() error

Init 项目初始化

func InitConfig

func InitConfig() error

InitConfig 配置初始化

func IsValidAddress

func IsValidAddress(address string) bool

IsValidAddress 钱包地址合法性验证

func IsValidSecret

func IsValidSecret(secret string) bool

IsValidSecret 钱包私钥合法性验证

Types

type AccountSet

type AccountSet map[string]uint32

AccountSet AccountSet

type Amount

type Amount constant.Amount

Amount 金额

type ArgInfo

type ArgInfo struct {
	Arg *ParameterInfo
}

ArgInfo ArgInfo

type Config

type Config struct {
	Mymap map[string]string
	// contains filtered or unexported fields
}

Config 配置类

func (*Config) InitConfig

func (c *Config) InitConfig(path string) error

InitConfig 初始化配置

func (Config) Read

func (c Config) Read(node, key string) string

func (Config) ReadInt

func (c Config) ReadInt(node, key string, defaultv int) int

ReadInt 读取int类型配置,可以使用默认值。

type Filter

type Filter func(interface{}) interface{}

Filter 过滤函数

type FlagClass

type FlagClass map[string]uint32

FlagClass FlagClass

type ParameterInfo

type ParameterInfo struct {
	Parameter string
}

ParameterInfo ParameterInfo

type Remote

type Remote struct {
	LocalSign bool
	Paths     *jtLRU.LRU
	// contains filtered or unexported fields
}

Remote 是跟井通底层交互最主要的类,它可以组装交易发送到底层、订阅事件及从底层拉取数据。

func NewRemote

func NewRemote(url string, localSign bool) (*Remote, error)

NewRemote 创建Remote,url 为空是从配置文件获取server 地址

func (*Remote) BuildAccountSet

func (remote *Remote) BuildAccountSet(options map[string]interface{}, tx *Transaction) error

BuildAccountSet BuildAccountSet

func (*Remote) BuildAccountSetTx

func (remote *Remote) BuildAccountSetTx(options map[string]interface{}) (*Transaction, error)

BuildAccountSetTx 创建属性对象

func (*Remote) BuildDelegateKeySet

func (remote *Remote) BuildDelegateKeySet(options map[string]interface{}, tx *Transaction) error

BuildDelegateKeySet BuildDelegateKeySet

func (*Remote) BuildOfferCancelTx

func (remote *Remote) BuildOfferCancelTx(options map[string]interface{}) (*Transaction, error)

BuildOfferCancelTx 取消挂单

func (*Remote) BuildOfferCreateTx

func (remote *Remote) BuildOfferCreateTx(options map[string]interface{}) (*Transaction, error)

BuildOfferCreateTx 挂单

func (*Remote) BuildPaymentTx

func (remote *Remote) BuildPaymentTx(account string, to string, amount Amount) (*Transaction, error)

BuildPaymentTx 创建支付对象

func (*Remote) BuildRelationSet

func (remote *Remote) BuildRelationSet(options map[string]interface{}, tx *Transaction) error

BuildRelationSet BuildRelationSet

func (*Remote) BuildRelationTx

func (remote *Remote) BuildRelationTx(options map[string]interface{}) (*Transaction, error)

BuildRelationTx 创建关系对象

func (*Remote) BuildSignerSet

func (remote *Remote) BuildSignerSet(options map[string]interface{}, tx *Transaction) error

BuildSignerSet BuildSignerSet

func (*Remote) BuildTrustSet

func (remote *Remote) BuildTrustSet(options map[string]interface{}, tx *Transaction) error

BuildTrustSet BuildTrustSet

func (*Remote) CallContractTx

func (remote *Remote) CallContractTx(options map[string]interface{}) (*Transaction, error)

CallContractTx 执行合约

func (*Remote) Connect

func (remote *Remote) Connect(callback func(err error, result interface{})) error

Connect 连接函数

func (*Remote) DeployContractTx

func (remote *Remote) DeployContractTx(options map[string]interface{}) (*Transaction, error)

DeployContractTx 部署合约

func (*Remote) Disconnect

func (remote *Remote) Disconnect()

Disconnect 关闭连接

func (*Remote) GetNowTime

func (remote *Remote) GetNowTime() string

GetNowTime 获取当前时间。格式(2006-01-02 15:04:05)

func (*Remote) On

func (remote *Remote) On(eventName string, callback func(data interface{}))

On 监听特定的事件消息

func (*Remote) RequestAccountInfo

func (remote *Remote) RequestAccountInfo(options map[string]interface{}) (*Request, error)

RequestAccountInfo 请求账号信息

func (*Remote) RequestAccountOffers

func (remote *Remote) RequestAccountOffers(options map[string]interface{}) (*Request, error)

RequestAccountOffers 获得账号挂单

func (*Remote) RequestAccountRelations

func (remote *Remote) RequestAccountRelations(options map[string]interface{}) (*Request, error)

RequestAccountRelations 获得账号关系

func (*Remote) RequestAccountTums

func (remote *Remote) RequestAccountTums(options map[string]interface{}) (*Request, error)

RequestAccountTums 获得账号可接收和发送的货币

func (*Remote) RequestAccountTx

func (remote *Remote) RequestAccountTx(options map[string]interface{}) (*Request, error)

RequestAccountTx 获得账号交易列表

func (*Remote) RequestLedger

func (remote *Remote) RequestLedger(options map[string]interface{}) (*Request, error)

RequestLedger 获取某一账本具体信息.

func (*Remote) RequestLedgerClosed

func (remote *Remote) RequestLedgerClosed() (*Request, error)

RequestLedgerClosed 获取最新账本信息

func (*Remote) RequestOrderBook

func (remote *Remote) RequestOrderBook(options map[string]interface{}) (*Request, error)

RequestOrderBook 获得市场挂单列表

func (*Remote) RequestServerInfo

func (remote *Remote) RequestServerInfo() (*Request, error)

RequestServerInfo 请求底层服务器信息

func (*Remote) RequestTx

func (remote *Remote) RequestTx(hash string) (*Request, error)

RequestTx 查询某一交易具体信息

func (*Remote) Submit

func (remote *Remote) Submit(command string, data map[string]interface{}, filter Filter, callback func(err error, data interface{}))

Submit 提交请求

func (*Remote) Subscribe

func (remote *Remote) Subscribe(streams []string) *Request

Subscribe 订阅服务

func (*Remote) UnSubscribe

func (remote *Remote) UnSubscribe(streams []string) *Request

UnSubscribe 退订服务

type Remoter

type Remoter interface {
	//Connect 连接
	Connect(callback func(err error, result interface{})) error

	//GetNowTime 获取当前时间
	GetNowTime() string

	//断开连接
	Disconnect()

	//RequestServerInfo 请求底层服务器信息
	RequestServerInfo() (*Request, error)

	//RequestLedgerClosed 获取最新账本信息
	RequestLedgerClosed() (*Request, error)

	//获取某一账本具体信息
	RequestLedger(options map[string]interface{}) (*Request, error)

	//RequestTx 询某一交易具体信息
	RequestTx(hash string) (*Request, error)

	//请求账号信息
	RequestAccountInfo(options map[string]interface{}) (*Request, error)

	//RequestAccountTums 得账号可接收和发送的货币
	RequestAccountTums(options map[string]interface{}) (*Request, error)

	//RequestAccountRelations 得账号关系
	RequestAccountRelations(options map[string]interface{}) (*Request, error)

	//RequestAccountOffers 获得账号挂单
	RequestAccountOffers(options map[string]interface{}) (*Request, error)

	//RequestAccountTx 获得账号交易列表
	RequestAccountTx(options map[string]interface{}) (*Request, error)

	//RequestOrderBook 获得市场挂单列表
	RequestOrderBook(options map[string]interface{}) (*Request, error)

	//BuildPaymentTx 创建支付对象
	BuildPaymentTx(account string, to string, amount constant.Amount) (*Transaction, error)
	//BuildRelationSet
	BuildRelationSet(options map[string]interface{}, tx *Transaction) error
	//BuildTrustSet
	BuildTrustSet(options map[string]interface{}, tx *Transaction) error
	//建关系对象
	BuildRelationTx(options map[string]interface{}) (*Transaction, error)
	//BuildAccountSet
	BuildAccountSet(options map[string]interface{}, tx *Transaction) error
	//BuildDelegateKeySet
	BuildDelegateKeySet(options map[string]interface{}, tx *Transaction) error
	//BuildSignerSet
	BuildSignerSet(options map[string]interface{}, tx *Transaction) error
	//创建属性对象
	BuildAccountSetTx(options map[string]interface{}) (*Transaction, error)
	//挂单
	BuildOfferCreateTx(options map[string]interface{}) (*Transaction, error)
	//取消挂单
	BuildOfferCancelTx(options map[string]interface{}) (*Transaction, error)
	//DeployContractTx 部署合约
	DeployContractTx(options map[string]interface{}) (*Transaction, error)
	//CallContractTx 执行合约
	CallContractTx(options map[string]interface{}) (*Transaction, error)
}

Remoter 提供以下方法:

type ReqCtx

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

ReqCtx 请求包装类

type Request

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

Request 请求结构

func NewRequest

func NewRequest(remote *Remote, command string, filter Filter) *Request

NewRequest 创建请求对象

func (*Request) SelectLedger

func (req *Request) SelectLedger(ledger interface{})

SelectLedger 选择账本

func (*Request) Submit

func (req *Request) Submit(callback func(err error, data interface{}))

Submit 提交请求

type ResData

type ResData map[string]interface{}

ResData 响应结构

type Server

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

Server 区块链网络通信服务结构体。

func NewServer

func NewServer(remote *Remote, urlStr string) (*Server, error)

NewServer 创建区块链网络通信服务。

func (*Server) Disconnect

func (server *Server) Disconnect() bool

Disconnect 关闭连接

func (*Server) GetCid

func (server *Server) GetCid() uint64

GetCid 每次请求序列递增。

func (*Server) IsConnected

func (server *Server) IsConnected() bool

IsConnected true已连接。

type Transaction

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

Transaction 交易结构体

func NewTransaction

func NewTransaction(remote *Remote, filter Filter) (*Transaction, error)

NewTransaction 构造Transaction对象

func (*Transaction) AddMemo

func (tx *Transaction) AddMemo(memo string)

AddMemo 设置备注

func (*Transaction) AddTxJSON

func (tx *Transaction) AddTxJSON(key string, value interface{}) bool

AddTxJSON 添加交易参数

func (*Transaction) GetAccount

func (tx *Transaction) GetAccount() string

GetAccount 获得交易账号

func (*Transaction) GetTransactionType

func (tx *Transaction) GetTransactionType() string

GetTransactionType 获得交易类型

func (*Transaction) GetTxJSON

func (tx *Transaction) GetTxJSON(key string) interface{}

GetTxJSON 获取交易参数

func (*Transaction) SetFlags

func (tx *Transaction) SetFlags(flags interface{})

SetFlags flags 数据类型:uint32或[]string

func (*Transaction) SetPath

func (tx *Transaction) SetPath(key string)

SetPath 设置支付路径

func (*Transaction) SetSecret

func (tx *Transaction) SetSecret(secret string)

SetSecret 本地签名时需要设置私钥

func (*Transaction) SetSendMax

func (tx *Transaction) SetSendMax(amount constant.Amount)

SetSendMax limit send max amount

func (*Transaction) SetTransferRate

func (tx *Transaction) SetTransferRate(rate float32)

SetTransferRate 设置手续费汇率

func (*Transaction) Submit

func (tx *Transaction) Submit(callback func(err error, result interface{}))

Submit 提交交易数据

type Wallet

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

Wallet 钱包结构体

func FromSecret

func FromSecret(secret string) (*Wallet, error)

FromSecret 根据井通私钥创建钱包

func Generate

func Generate() (*Wallet, error)

Generate 生成钱包

func (*Wallet) GetAddress

func (wallet *Wallet) GetAddress() string

GetAddress 获取钱包地址

func (*Wallet) GetPublicKey

func (wallet *Wallet) GetPublicKey() string

GetPublicKey 获取16进制公钥

func (*Wallet) GetSecret

func (wallet *Wallet) GetSecret() string

GetSecret 获取私钥

Directories

Path Synopsis
* * 常量类。
* * 常量类。
* * Hash 工具类.
* * Hash 工具类.

Jump to

Keyboard shortcuts

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