-
Notifications
You must be signed in to change notification settings - Fork 24
API Document
PalletOne RPC接口分为Public和Private两种,Public可以通过互联网远程访问,而Private只能在localhost访问。 以下接口中,标记了[*]的为Private API。
- API 说明 将一个hex的Tx对象解码为Json格式的Tx对象
- 函数定义 DecodeTx(ctx context.Context, hex string) (string, error)
- 参数说明 rlp编码后的Tx对象hex格式
- 返回值说明 Json格式的Tx对象
-
API 说明
获取当前区块链的所有配置参数,区块链浏览器专用。
-
函数定义
ListSysConfig() ([]*ptnjson.ConfigJson, error)
-
参数说明
无
-
返回值说明
// 配置参数的键值对,区块链浏览器专用 type ConfigJson struct { Key string `json:"key"` // 配置参数的key Value string `json:"value"` // 配置参数的value }
-
API 说明
获取指定账户的质押情况
-
函数定义
GetPledge(addStr string) (*modules.PledgeStatusJson, error)
-
参数说明
addStr string // 账户地址
-
返回值说明
type PledgeStatusJson struct { NewDepositAmount decimal.Decimal `json:"newDepositAmount"` PledgeAmount decimal.Decimal `json:"pledgeAmount"` WithdrawApplyAmount string `json:"withdrawApplyAmount"` OtherAmount decimal.Decimal `json:"otherAmount"` }
-
API 说明
获取指定公钥对应的地址
-
函数定义
GetAddressWithPublicKey(pubkey string) (addStr string, err error)
-
参数说明
pubkey string // 公钥字符串,不以0x开头的长度为66的十六进制字符串;
-
返回值说明
对应的地址,或者错误信息;
- API 说明:在全节点上通过交易hash获取交易路径、默克尔根等验证数据
- 函数定义:func (s *PublicBlockChainAPI) GetProofTxInfoByHash(ctx context.Context, txhash string) ([][]byte, error)
- 参数说明:交易hash
- 返回值说明
返回值是一个包含三个元素的byte数组。
0:header_hash
1:trie_key
2:trie_path
["uGu/P537+Ty5WBmhxZaDOChLvRQnzrB0Dot+AlSNH5E=", "AQ==", "+QGQ+FGg7QqkrWoINVgaKf18iKt+S1eBy6inpCI3HjK1cyz+076AgICAgICAoFQvvH6IkIJgH2w/dQII+aQ8gChBpuD6le9q5PJ2ZoC7gICAgICAgID5AToxuQE2+QEz+QEu+QErgLkBJ/kBJPiS+JC4akcwRAIgBAGyNmZomi5pTK99mBNGmtRU6Qp2OUxaW892is6yzp8CIFABKqQsoGazicgHzxBt0/q1N8PomfyKMiXOfT1IuwQYASECX0zoOs68SnhAX0YVleP+IgSIqxYZa9SXoxZuTVIpXh+AoB30vWBWRxc6qZT9xsuK/eWxWo7aT6nT9GkiadaCIiYSgID4jfhDhRdIdugAmXapFIcK1xEDi9l1NL017JqJkOd8s4HIiKzikEAAgrsIAAAAAAAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAPhGiAFjRWEPHTcAmXapFKGUHO4MkMpSlF8NvADKcsDo7SbjiKzikEAAgrsIAAAAAAAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAICAgA=="]
-
API 说明
获取当前区块链的所有配置参数以及对应的值
-
函数定义
GetChainParameters() (*core.ChainParameters, error)
-
参数说明
无
-
返回值说明
配置参数的字段名以及对应的值
- API 说明 获得某种Token的交易流转历史
- 函数定义
func (s *PublicBlockChainAPI) GetTokenTxHistory(ctx context.Context, assetStr string) ([]*ptnjson.TxHistoryJson, error)
- 参数说明 要查询的Token的ID字符串
- 返回值说明 该Token的交易历史记录的数组
- API 说明:在全节点上通过交易hash进行SPV验证
- 函数定义:
func (s *PublicBlockChainAPI) ProofTransactionByHash(ctx context.Context, txhash string) (string, error)
- 参数说明:交易hash
- 返回值说明
成功:ok
失败:error
超时:timeout
- API 说明 将一个Json格式的Tx对象编码为Rlp格式的Hex对象
- 函数定义 EncodeTx(ctx context.Context, jsonStr string) (string, error)
- 参数说明 Json格式的Tx字符串
- 返回值说明 Rlp编码格式的Tx对象的Hex字符串
- API 说明:在轻节点上通过交易验证数据进行SPV验证
- 函数定义:func (b *PublicBlockChainAPI) ProofTransactionByRlptx(rlptx [][]byte) (string, error)
- 参数说明:此参数通过在全节点上ptn.getProofTxInfoByHash命令获取
参数是一个包含三个元素的byte数组。
0:header_hash
1:trie_key
2:trie_path
["uGu/P537+Ty5WBmhxZaDOChLvRQnzrB0Dot+AlSNH5E=", "AQ==", "+QGQ+FGg7QqkrWoINVgaKf18iKt+S1eBy6inpCI3HjK1cyz+076AgICAgICAoFQvvH6IkIJgH2w/dQII+aQ8gChBpuD6le9q5PJ2ZoC7gICAgICAgID5AToxuQE2+QEz+QEu+QErgLkBJ/kBJPiS+JC4akcwRAIgBAGyNmZomi5pTK99mBNGmtRU6Qp2OUxaW892is6yzp8CIFABKqQsoGazicgHzxBt0/q1N8PomfyKMiXOfT1IuwQYASECX0zoOs68SnhAX0YVleP+IgSIqxYZa9SXoxZuTVIpXh+AoB30vWBWRxc6qZT9xsuK/eWxWo7aT6nT9GkiadaCIiYSgID4jfhDhRdIdugAmXapFIcK1xEDi9l1NL017JqJkOd8s4HIiKzikEAAgrsIAAAAAAAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAPhGiAFjRWEPHTcAmXapFKGUHO4MkMpSlF8NvADKcsDo7SbjiKzikEAAgrsIAAAAAAAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAICAgA=="]
- 返回值说明
成功:ok
失败:error
超时:timeout
- API 说明:在轻节点上更新账户的UTXO
- 函数定义:func (b *PublicBlockChainAPI) SyncUTXOByAddr(addr string) string
- 参数说明:账户地址
- 返回值说明
成功:ok
失败:error
超时:timeout
- API 说明 列出当前所有账户
- 函数定义 func (s *PrivateAccountAPI) ListAccounts() []string
- 参数说明 无显式参数
- 返回值说明 列出当前节点所有账户
- API 说明 创建新账户
- 函数定义 func (s *PrivateAccountAPI) NewAccount(password string) (string, error)
- 参数说明 新账户解锁密码
- 返回值说明 创建结果的PTN地址
-
API 说明
从一个地址往另一个地址转移PTN
-
函数定义
func (s *PrivateAccountAPI) TransferPtn(from, to string, amount decimal.Decimal, text *string,password string) (*TxExecuteResult, error)
-
参数说明
from:发送地址 to:接收地址 amount:数量 text:附加信息 password:解锁密码
-
返回值说明
type TxExecuteResult struct { TxContent string `json:"txContent"` // 交易内容 TxHash common.Hash `json:"txHash"` // 交易hash TxSize string `json:"txSize"` // 交易大小 TxFee string `json:"txFee"` // 交易费用 Tip string `json:"tip"` // 提示 Warning string `json:"warning"` // 警告 }
- API 说明 加载私钥,并创建账户
- 函数定义 func (s *PrivateAccountAPI) ImportRawKey(privkey string, password string) (string, error)
- 参数说明 privkey:hex字符串格式私钥
- 返回值说明 加载账户后的地址
- API 说明 列出当前所有钱包状态
- 函数定义 func (s *PrivateAccountAPI) ListWallets() []rawWallet
- 参数说明 无显式参数
- 返回值说明 钱包状态结构体
type rawWallet struct {
URL string `json:"url"`
Status string `json:"status"`
Failure string `json:"failure,omitempty"`
Accounts []accounts.Account `json:"accounts,omitempty"`
}
- API 说明 锁定账户
- 函数定义 func (s *PrivateAccountAPI) LockAccount(addrStr string) bool
- 参数说明 PTN地址
- 返回值说明 锁定结果,成功或者失败
- API 说明 打开钱包
- 函数定义 func (s *PrivateAccountAPI) OpenWallet(url string, passphrase *string) error
- 参数说明 钱包url,例如:url: "keystore:///home/pallet/go/go-palletone/build/bin/palletone/keystore/UTC--2019-07-17T07-24-39.431596141Z--P17t9CnH73LFzRLnRfL76embkWpCeS7L518"
- 返回值说明 打开钱包结果
- API 说明 解锁账户
- 函数定义 func (s *PrivateAccountAPI) UnlockAccount(addrStr string, password string, duration *uint64) (bool, error)
- 参数说明 addrStr:PTN地址 password:解锁密码 duration:解锁时长,值为0时,永久解锁
- 返回值说明 解锁结果,成功或失败
- API 说明:添加跨域节点
- 函数定义:func (api *PrivateAdminAPI) AddCorsPeer(url string) (bool, error)
- 参数说明:
"pnode://4373de4b08985dada03b3cfce14aa895494b9104d2b3d62c17b8d704faaaf0bbaccfa00659966c1481754354029d676983ccbf0e70f130f497e27eef73419e37@127.0.0.1:30306"
- 返回值说明
成功:true
失败:false
- API 说明:查看当前节点的所有对端节点
- 函数定义:func (api *PublicAdminAPI) Peers() ([]*p2p.PeerInfo, error)
- 参数说明
- 返回值说明:返回所有当前节点的对端节点
- API 说明:停止本节点的RPC服务
- 函数定义:func (api *PrivateAdminAPI) StopRPC() (bool, error)
- 参数说明:无参数
- 返回值说明
成功:true
失败:false
- API 说明:添加静态节点
- 函数定义:func (api *PrivateAdminAPI) AddPeer(url string) (bool, error)
- 参数说明
"pnode://4373de4b08985dada03b3cfce14aa895494b9104d2b3d62c17b8d704faaaf0bbaccfa00659966c1481754354029d676983ccbf0e70f130f497e27eef73419e37@127.0.0.1:30306"
- 返回值说明
成功:true
失败:false
- API 说明:查看本节点的跨域协议
- 函数定义:func (api *PublicAdminAPI) CorsInfo() (*p2p.NodeInfo, error)
- 参数说明:无参数
- 返回值说明
{
id: "5233abc4336f578fd36673d4b2d9961f3170c407185349ce029f58bfd1d44b32e9a180f65846fd0e5e5a618f92f4bfe15479428e2a4227cd909d43e5204f53c1",
ip: "0.0.0.0",
listenAddr: "",
name: "Gptn/v1.0.1-beta-d2758ff4/linux-amd64/go1.10.1",
pnode: "pnode://5233abc4336f578fd36673d4b2d9961f3170c407185349ce029f58bfd1d44b32e9a180f65846fd0e5e5a618f92f4bfe15479428e2a4227cd909d43e5204f53c1@0.0.0.0:0",
ports: {
discovery: 0,
listener: 0
},
protocols: {
cors: {
genesis: "0x4736b6e37813d376d9ba2ba1bdcfb716c20a107fa119ebe72aae0d9009156e31",
head: "0x7763c1b8d97c57c1a38cc488cd86ccaf4cd4717f1d06555f9dd45a4a6bb38c0f",
network: 1,
number: 181
}
}
}
-
API 说明
添加可信节点
-
函数定义
AddTrustedPeer(url string) (bool, error)
-
参数说明
"pnode://4373de4b08985dada03b3cfce14aa895494b9104d2b3d62c17b8d704faaaf0bbaccfa00659966c1481754354029d676983ccbf0e70f130f497e27eef73419e37@127.0.0.1:30306"
-
返回值说明
成功:true 失败:false
- API 说明:查看跨域协议下的对端节点
- 函数定义:func (api *PublicAdminAPI) CorsPeers(protocol string) ([]*p2p.PeerInfo, error)
- 参数说明
- 返回值说明:返回所有当前节点跨域协议下的对端节点
- API 说明:删除对端节点
- 函数定义:func (api *PrivateAdminAPI) RemovePeer(url string) (bool, error)
- 参数说明:无参数
"pnode://4373de4b08985dada03b3cfce14aa895494b9104d2b3d62c17b8d704faaaf0bbaccfa00659966c1481754354029d676983ccbf0e70f130f497e27eef73419e37@127.0.0.1:30306"
- 返回值说明
成功:true
失败:false
- API 说明:启动RPC服务
- 函数定义:func (api *PrivateAdminAPI) StartRPC(host *string, port *int, cors *string, apis *string, vhosts *string) (bool, error)
- 参数说明:admin.startRPC("127.0.0.1", 8545)
- 返回值说明
成功:true
失败:false
- API 说明:查看数据存放地址
- 函数定义:func (api *PublicAdminAPI) Datadir() string
- 参数说明:无参数
- 返回值说明
"/home/ying/deployment/node1/palletone"
- API 说明:查看当前节点信息
- 函数定义:func (api *PublicAdminAPI) NodeInfo() (*p2p.NodeInfo, error)
- 参数说明:无参数
- 返回值说明
{
id: "d6250d040c3569e2f15f1dcd07f3dc0c56bc92736ecab2a57fe16a3d800fd8bbc2e52de8dacba59a0248c5982a4ebc2ed35bd63ad506d80705be681a51ee8d7d",
ip: "::",
listenAddr: "[::]:30303",
name: "Gptn/v1.0.0-beta-47d76baa/linux-amd64/go1.10.1",
pnode: "pnode://d6250d040c3569e2f15f1dcd07f3dc0c56bc92736ecab2a57fe16a3d800fd8bbc2e52de8dacba59a0248c5982a4ebc2ed35bd63ad506d80705be681a51ee8d7d@[::]:30303",
ports: {
discovery: 30303,
listener: 30303
},
protocols: {
PTN: {
Index: 61340,
genesis: "0x6365f3bc9c197b8679821b998da5ee8f88b3db67fdb023250db3d1c2ae0ab1c6",
head: "0x25996eabf85f42f80aa71b892d67ce8abf264ab88f9702b4e4a93454b78896c9",
network: 1
},
lps: {
Index: 61340,
genesis: "0x6365f3bc9c197b8679821b998da5ee8f88b3db67fdb023250db3d1c2ae0ab1c6",
head: "0x25996eabf85f42f80aa71b892d67ce8abf264ab88f9702b4e4a93454b78896c9",
network: 1
}
}
}
-
API 说明
删除可信节点
-
函数定义
RemoveTrustedPeer(url string) (bool, error)
-
参数说明
"pnode://4373de4b08985dada03b3cfce14aa895494b9104d2b3d62c17b8d704faaaf0bbaccfa00659966c1481754354029d676983ccbf0e70f130f497e27eef73419e37@127.0.0.1:30306"
-
返回值说明
成功:true 失败:false
- API 说明:通过key获取数据的接口
- 函数定义:func GetCommon(ctx context.Context, key string) ([]byte, error)
- 请求参数:
- key: 请求数据的键,二进制编码的字符串形式
- 返回值说明:
- result: value值的二进制编码
- API 说明:通过前缀查询dag数据库的接口
- 函数定义:func GetCommonByPrefix(ctx context.Context, prefix string) (string, error)
- 请求参数:
- key: 数据键的前缀,二进制编码的字符串形式
- 返回值说明:
- result: 匹配该前缀的key和value,二进制编码
- API 说明:获取某个hash的Unit信息
- 函数定义:func GetUnitByHash(ctx context.Context, condition string) string
- 参数说明:
- condition: unit的hash值,hex字符串
- 返回值说明
- result: 返回数据的详细信息,json序列化后的字符串格式
- item:请求项为unit
- info: unit的详细信息
- API 说明:获取某个地址的所有outpoints信息
- 函数定义:func GetAddrOutpoints(ctx context.Context, addr string) (string, error)
- 参数说明:
- addr: 请求地址
- 返回值:
- result:所有outpoints的详细信息
- error: 错误信息
- API 说明:获取某个高度的unit信息
- 函数定义:func GetUnitByNumber(ctx context.Context, condition string) string
- 参数说明:
- condition:单元高度(字符串格式)
- 返回值说明:
- result:单元的详细信息(Json序列化后的)
- API 说明:获取当前最高稳定单元的编号
- 函数定义:StableUnitNum() uint64
- 参数说明:
- 无
- 返回值说明:
- result: 最高稳定单元的编号
- API 说明:判断当前节点数据是否同步完成
- 函数定义:IsSynced() bool
- 参数说明:
- 无
- 返回值说明:
- result: 是否同步完成
- API 说明:获取dag里某条链的最新高度信息
- 函数定义:func GetFastUnitIndex(ctx context.Context, assetid string) string
- 参数说明:
- assetid: 资产编码 例如:ptn
- 返回值说明:
- result:返回数据的详细信息,json序列化后的字符串格式
- fast_hash: 最新单元hash
- fast_index: 最新单元高度
- stable_hash: 稳定单元hash
- stable_index: 稳定单元高度
- API 说明:获取某个hash的header信息
- 函数定义:func GetHeaderByHash(ctx context.Context, condition string) (string, error)
- 参数说明:
- 请求header的高度,字符串格式
- 返回值说明:
- result:返回数据的详细信息,json序列化后的字符串格式
- item: 请求项为header
- info: header的详细信息
- API 说明: 获取某个高度的header信息
- 函数定义: func GetHeaderByNumber(ctx context.Context, condition string) (string, error)
- 参数说明:
- 请求header的高度
- 返回值说明:
- result:返回数据的详细信息,json序列化后的字符串格式
- item: 请求项为header
- info: header的详细信息
- API 说明:获取某个高度的unit信息
- 函数定义:func GetUnitSummaryByNumber(ctx context.Context, condition string) string
- 参数说明:
- condition:请求单元的高度
- 返回值说明:
- result:单元的详细信息,json序列化后的字符串格式
- API 说明:获取最新单元的高度
- 函数定义:HeadUnitNum() uint64
- 参数说明:
- 无
- 返回值说明:最新单元的高度
- API 说明:获取最新单元的hash
- 函数定义: HeadUnitHash() string
- 参数说明:
- 无
- 返回值说明:最新单元的hash
- API 说明:获取最新单元的时间戳
- 函数定义: HeadUnitTime() string
- 参数说明:
- 无
- 返回值说明:最新单元的时间戳
- API 说明:获取某个地址的所有utxo
- 函数定义:func GetAddrUtxos(addr string) ([]*ptnjson.UtxoJson, error)
- 参数说明:
- address:请求地址
- 返回值说明:
- result:返回数据的详细信息,json序列化后的字符串格式
- item: 请求项为address_utxos
- info: 所有utxo的详细信息
- API 说明:获取某个交易的具体信息
- 函数定义:func GetTxByHash(ctx context.Context, hashHex string) (string, error)
- 参数说明:
- hashHex: 交易hash的hex编码
- 返回值说明
- result: 返回数据的详细信息,json序列化后的字符串格式
- item: 请求项为transaction_info
- info: 交易的详细信息
- error:错误信息
- API 说明:根据reqid获取某个交易的hash
- 函数定义:func GetTxHashByReqId(ctx context.Context, hashHex string) (string, error)
- 参数说明:
- hashHex: requestId
- 返回值说明:
- result:返回数据的详细信息,json序列化后的字符串格式
- item: 请求项为tx_hash
- info:交易hash的hex编码
- API 说明:根据reqid获取某个交易的详细信息
- 函数定义:func GetTxByReqId(ctx context.Context, hashHex string) (string, error)
- 参数说明:
- hashHex: requestId
- 返回值说明:
- result:返回数据的详细信息,json序列化后的字符串格式
- item: 请求项为transaction_info
- info:交易的详细信息
- API 说明:根据高度区间和token类型获取所有unit信息
- 函数定义:func GetUnitsByIndex(ctx context.Context, start, end decimal.Decimal, asset string) string
- 参数说明:
- start: 单元的起始高度
- end:单元的结束高度
- asset: 资产类型,例如: ptn
- 返回值说明:
- result:返回数据的详细信息,json序列化后的字符串格式
- item: 请求项为units
- info:所有单元的列表,单元详细信息为json序列化后的格式
- API 说明: 获取某个hex的value
- 函数定义: func GetHexCommon(ctx context.Context, key string) (string, error)
- 参数说明:
- key: hex格式的键
- 返回值说明:
- result:键对应的value值,hex格式
- API 说明: 根据hash获取某个txpool tx信息
- 函数定义:func GetTxPoolTxByHash(ctx context.Context, hex string) (string, error)
- 参数说明:
- hex: 交易的hash值
- 返回值说明:
- result:返回数据的详细信息,json序列化后的字符串格式
- item: 请求项为txpool_tx
- info:txpool交易的详细信息,json序列化后的格式
- API 说明:获取当前dag里未稳定的单元
- 函数定义:func GetUnstableUnits() []*ptnjson.UnitSummaryJson
- 参数说明:
- 无
- 返回值说明:
- result: 所有未稳定单元的列表,json序列化后的格式
- API 说明 获取某个交易在被打包单元里的索引及单元信息
- 函数定义 func GetTxSearchEntry(hash common.Hash) (*ptnjson.TxSerachEntryJson, error)
- 参数说明:
- hash:交易hash
- 返回值说明:
- result:返回数据的详细信息,json序列化后的字符串格式
- item: 请求项为tx_entry
- info:TxSerachEntryJson的详细信息,json序列化后的格式
- error:错误信息
-
API 说明
普通节点提交相关信息,申请成为mediator节点。
-
函数定义
Apply(args modules.MediatorCreateArgs, fee decimal.Decimal) (*TxExecuteResult, error)
-
参数说明
type MediatorCreateArgs struct { *core.MediatorInfoBase *core.MediatorApplyInfo JurorDepositExtraJson } type MediatorInfoBase struct { AddStr string `json:"account"` // mediator账户地址,主要用于产块签名 RewardAdd string `json:"rewardAdd"` // mediator奖励地址,主要用于接收产块奖励 InitPubKey string `json:"initPubKey"` // mediator的群签名初始公钥 Node string `json:"node"` // mediator节点网络信息,包括ip和端口等 } type MediatorApplyInfo struct { Logo string `json:"logo"` // 节点图标url Name string `json:"name"` // 节点名称 Location string `json:"loc"` // 节点所在地区 Url string `json:"url"` // 节点宣传网站 Description string `json:"applyInfo"` // 节点详细信息描述 } type JurorDepositExtraJson struct { PublicKey string `json:"public_key"` //账户地址对应的公钥 }
-
返回值说明
type TxExecuteResult struct { TxContent string `json:"txContent"` // 交易内容 TxHash common.Hash `json:"txHash"` // 交易hash TxSize string `json:"txSize"` // 交易大小 TxFee string `json:"txFee"` // 交易费用 Tip string `json:"tip"` // 提示 Warning string `json:"warning"` // 警告 }
-
console命令行举例
> mediator.apply({account:"P1xxxx", initPubKey:"xxxxx", node:"pnode://xxxxx@x.x.x.x:30303", public_key:"xxxx"}, 0.002)
-
API 说明
获取指定mediator的相关信息
-
函数定义
GetInfo(addStr string) (*modules.MediatorInfo, error)
-
参数说明
addStr string // mediator地址
-
返回值说明
type MediatorInfo struct { *core.MediatorInfoBase *core.MediatorApplyInfo *core.MediatorInfoExpand } type MediatorInfoExpand struct { TotalMissed uint64 `json:"totalMissed"` // 当前mediator未能按照调度生产区块的总个数 LastConfirmedUnitNum uint32 `json:"lastConfirmedUnitNum"` // 当前mediator最新生产的区块编号 TotalVotes uint64 `json:"totalVotes"` // 当前mediator的总共得票数量 }
-
API 说明
遍历当前链所有mediator的信息
-
函数定义
LookupMediatorInfo() []*modules.MediatorInfo
-
参数说明
无
-
返回值说明
所有mediator的信息列表
-
API 说明
更新 mediator 信息
-
函数定义
Update(args modules.MediatorUpdateArgs) (*TxExecuteResult, error)
-
参数说明
type MediatorUpdateArgs struct { AddStr string `json:"account"` // 要更新的mediator地址 RewardAdd *string `json:"rewardAdd" rlp:"nil"` // mediator奖励地址,主要用于接收产块奖励 InitPubKey *string `json:"initPubKey" rlp:"nil"` // mediator的群签名初始公钥 Node *string `json:"node" rlp:"nil"` // 节点网络信息,包括ip和端口等 Logo *string `json:"logo" rlp:"nil"` // 节点图标url Name *string `json:"name" rlp:"nil"` // 节点名称 Location *string `json:"loc" rlp:"nil"` // 节点所在地区 Url *string `json:"url" rlp:"nil"` // 节点宣传网站 Description *string `json:"applyInfo" rlp:"nil"` // 节点详细信息描述 }
-
返回值说明
交易的执行结果,或者错误信息
-
console命令行举例
> mediator.update({account:"P1xxxx", rewardAdd:"P1xxx"})
-
API 说明
让mediator节点开始生产区块
-
函数定义
StartProduce() bool
-
参数说明
无
-
返回值说明
true,表示节点之前没有生产区块,现在开始生产区块;
false,表示节点之前已经在生产区块,现在继续生产区块;
-
API 说明
判断指定地址是否为活跃mediator
-
函数定义
IsActive(addStr string) (bool, error)
-
参数说明
addStr string // mediator地址
-
返回值说明
true 或者 false,或者其他错误信息
-
API 说明
获取所有活跃mediator
-
函数定义
ListActives() []string
-
参数说明
无
-
返回值说明
mediator地址数组列表
-
API 说明
申请mediator后,缴纳保证金
-
函数定义
PayDeposit(from string, amount decimal.Decimal) (*TxExecuteResult, error)
-
参数说明
from string // mediator地址 amount decimal.Decimal // 缴纳保证金的额度,例如50,单位ptn
-
返回值说明
交易的执行结果,或者错误信息
-
API 说明
让mediator节点停止生产区块
-
函数定义
StopProduce() bool
-
参数说明
无
-
返回值说明
true,表示节点之前在生产区块,现在停止生产区块
false,表示节点之前就停止生产区块,现在也不区块
-
API 说明
指定账户给指定若干mediator投票
-
函数定义
Vote(voterStr string, mediatorStrs []string) (*TxExecuteResult, error)
-
参数说明
voterStr string // 投票账户地址 mediatorStrs []string // 被投的mediator地址列表
-
返回值说明
交易的执行结果,或者错误信息
-
API 说明
随机获取一组mediator群签名所需要的初始公私钥
-
函数定义
DumpInitDKS() (res InitDKSResult)
-
参数说明
无
-
返回值说明
type InitDKSResult struct { PrivateKey string `json:"private_key"` // 初始群签名私钥 PublicKey string `json:"public_key"` // 初始群签名公钥 }
-
API 说明
获取下一次链维护(包括换届)的时间
-
函数定义
GetNextUpdateTime() string
-
参数说明
无
-
返回值说明
下一次链维护时间
-
API 说明
申请成为mediator后,获取基金会的批准信息
-
函数定义
IsApproved(addStr string) (string, error)
-
参数说明
指定申请mediator的地址
-
返回值说明
批准信息,以及错误信息
-
API 说明
获取所有mediator的列表
-
函数定义
ListAll() []string
-
参数说明
无
-
返回值说明
所有mediator的地址列表
-
API 说明
获取指定mediator的保证金缴纳情况
-
函数定义
GetDeposit(addStr string) (*modules.MediatorDepositJson, error)
-
参数说明
addStr string // mediator地址
-
返回值说明
type MediatorDepositJson struct { MediatorDepositExtra DepositBalanceJson } type MediatorDepositExtra struct { ApplyEnterTime string `json:"apply_enter_time"` // 申请加入时间 ApplyQuitTime string `json:"apply_quit_time"` // 申请退出时间 Status string `json:"status"` // 申请状态 申请、同意、退出 AgreeTime string `json:"agree_time"` // 基金会同意申请时间' } type DepositBalanceJson struct { Balance decimal.Decimal `json:"balance"` EnterTime string `json:"enter_time"` Role string `json:"role"` PublicKey string `json:"public_key"` }
-
API 说明
获取指定账户投票的mediator地址
-
函数定义
GetVoted(addStr string) []string
-
参数说明
addStr string // 账户地址
-
返回值说明
投票的mediator地址列表
-
API 说明
判断指定地址是否是mediator
-
函数定义
IsInList(addStr string) (bool, error)
-
参数说明
addStr string // 账户地址
-
返回值说明
true 或者 false,或者其他错误信息
-
API 说明
获取当前所有mediator投票情况
-
函数定义
ListVoteResults() map[string]uint64
-
参数说明
无
-
返回值说明
每个mediator以及对应的得票数量
-
API 说明
获取指定mediator的被投票情况
-
函数定义
ListVotingFor(addStr string) (map[string]uint64, error)
-
参数说明
addStr string // mediator地址
-
返回值说明
给该mediator投票的每个账户地址以及投票数
-
API 说明
指定mediator申请退出列表
-
函数定义
Quit(medAddStr string) (*TxExecuteResult, error)
-
参数说明
medAddStr string // mediator地址
-
返回值说明
交易执行情况,或者错误信息
- API 说明:获取地址的交易记录, 【注意:节点必须在toml配置中启用了AddrTxsIndex才有数据】
- 函数定义 func(s *PublicWalletAPI)GetAddrTxHistory(ctx context.Context, addr string) ([]*ptnjson.TxHistoryJson, error)
- 参数说明 addr为PTN地址
- 返回值说明 地址交易记录的结构体
- 请求示例
{"jsonrpc":"2.0","method":"wallet_getAddrTxHistory","params":["P1Jp9qTpvERqPhTTwzm4HwvG3AYMnqVUyfm"],"id":1}
{
"jsonrpc": "2.0",
"id": 1,
"result": [
{
"tx_hash": "0xc4d08b7b812a5d9e7ded6575ba4bf1f111e84d57c4e8c1194ea4ee6063e28230",
"tx_size": 364,
"payment": {
"inputs": [
{
"txid": "0xcea081feb800da28aabaf1e964f06cbaed8dfc72558439bdff0a22e42e0978c9",
"message_index": 0,
"out_index": 1,
"unlock_script": "1a88d8fff9f6e69680059e7df1a176f60c9b9597437fb73a83228abdb673da5f47a51725b399d05495a6bac366c1b9ae1ee4a3326e330b02eabff022578bd67e01 02c06e485a0cbccfcdc18dafa91af89865388cc8f14b52c10ec472498edda687fe",
"from_address": "P1Jp9qTpvERqPhTTwzm4HwvG3AYMnqVUyfm"
}
],
"outputs": [
{
"amount": 100000000000,
"asset": "PTN",
"to_address": "P1GDBkAAGktTDTPRUeAZE1KT7HcL3eZ46zc",
"lock_script": "OP_DUP OP_HASH160 a6d7d8d67fe54e0da4480fe4708f649c80006d44 OP_EQUALVERIFY OP_CHECKSIG"
},
{
"amount": 663100000000,
"asset": "PTN",
"to_address": "P1Jp9qTpvERqPhTTwzm4HwvG3AYMnqVUyfm",
"lock_script": "OP_DUP OP_HASH160 c3651067bd81a5974773184c5004a462ad9765c8 OP_EQUALVERIFY OP_CHECKSIG"
}
],
"locktime": 12
},
"data": {
"main_data": "http://www.bejson.com",
"extra_data": "P1GDBkAAGktTDTPRUeAZE1KT7HcL3eZ46zc"
},
"invoke_request": null,
"timestamp": "2019-05-08 17:18:12 +0800 CST"
}
]
}
-
API 说明:根据存证文件哈希查询存证信息
-
函数定义:getFileInfo(filehash string) (string, error)
-
参数说明:文件哈希值(string)
-
返回值说明:
unithash 区块哈希值 unitindex 区块高度 parentshash 上一个区块哈希值 transactionhash 交易哈希值 timestamp 时间戳 filehash 文件哈希值 extradata 附加字段
-
API 说明:根据存证引用标识符查询存证信息
-
函数定义:QueryProofOfExistenceByReference(ref string) ([]*ptnjson.ProofOfExistenceJson, error)
-
参数说明:存证引用标识符(string)
-
返回值说明:
unit_hash 区块哈希值 tx_id 交易哈希值 timestamp 时间戳 main_data 主要存证内容 extradata 附加字段 reference 存证的引用标识符
- API 说明:创建交易构建存证信息
- 函数定义:CreateProofTransaction( params string, password string) (common.Hash, error)
- 参数说明: {"jsonrpc":"2.0","method":"wallet_createProofOfExistenceTx","params":["P15P5oHLjvoqMHKXjcV2joHYanTnMBDrZzG","存证","附加信息","A","1"],"id":1}
P15P5oHLjvoqMHKXjcV2joHYanTnMBDrZzG 交易发起方地址
存证 存证内容(string)
附加信息 附加字段,随存证内容一同上链(string)
A 存证的引用标识符,可根据此标识查询存证信息(string)
1 区块链标识(固定值)
id:1 区块链内部标记(固定值)
- 返回值说明:这笔交易的哈希值(transactionHash)
- API 说明 获取地址所有的UTXO
- 函数定义 GetAddrUtxos(addr common.Address) (map[modules.OutPoint]*modules.Utxo, error)
- 参数说明 将获取UTXO的地址
- 返回值说明 返回值为地址的UTXO 示例:
{"jsonrpc":"2.0","method":"wallet_getAddrUtxos","params":["P1Pn45yitddV7qL9EXhPKCkiqkqDjj2mEEn"],"id":1}
{
"jsonrpc": "2.0",
"id": 1,
"result": "{\"item\":\"address_utxos\",\"info\":[{\"txid\":\"0xe4e024bdf9c3c650f6feed3836c8d5e6e48fd5cd196270d7e3b147e2dd329213\",\"message_index\":0,\"out_index\":1,\"amount\":99999989900000000,\"asset\":\"PTN\",\"pk_script_hex\":\"0x76a914f9d80fbaaf56c4fadead8c5ab135600610eb1aae88ac\",\"pk_script_string\":\"OP_DUP OP_HASH160 f9d80fbaaf56c4fadead8c5ab135600610eb1aae OP_EQUALVERIFY OP_CHECKSIG\",\"create_time\":\"2019-05-09T11:00:42+08:00\",\"lock_time\":0,\"flag_status\":\"normal\",\"coin_days\":0,\"amount_with_interest\":99999989900000000}]}"
}
-
API 说明:根据交易哈希值查询存证信息
-
函数定义:getFileInfo(filehash string) (string, error)
-
参数说明:文件哈希值(string)
-
返回值说明:
unithash 区块哈希值 unitindex 区块高度 parentshash 上一个区块哈希值 transactionhash 交易哈希值 timestamp 时间戳 filehash 文件哈希值 extradata 附加字段
- API 说明 GetPtnTestCoin(ctx context.Context, from string, to string, amount, password string, duration *uint64) (common.Hash, error)
- 函数定义 从水龙头地址获取测试币
- 参数说明 from:发送测试币的地址 to:接收测试币的地址 amount:发送数量 password:发送地址的私钥解锁密码 duration:地址解锁时间
- 返回值说明 水龙头地址发送测试币后的交易hash值 请求示例 {"jsonrpc":"2.0","method":"wallet_getPtnTestCoin","params":["P15GK12gMx7Ei979MqSjsi7GgZf5Y2dn66e","P1GtaPbhCnSnMHpwEYbHYBVv4wMTz3yMUTG","10","1",10],"id":1}
- API 说明 从一个地址给另一个地址转帐
- 函数定义 TransferPtn(ctx context.Context, from string, to string, amount decimal.Decimal, fee decimal.Decimal, Extra string, password string, duration *uint64)
- 参数说明 from:发送测试币的地址 to:接收测试币的地址 amount:发送数量 fee:手续费 Extra:附加信息 password:发送地址的私钥解锁密码 duration:地址解锁时间
- 返回值说明 交易hash值
-
API 说明:创建交易构建存证信息
-
函数定义:CreateProofTransaction(params string, password string) (common.Hash, error)
-
参数说明:
from 交易发起方 ( proof 上链文件哈希值 extra 附加字段 随proof一同上链 fee 交易手续费 outputs 交易的输出 address 交易接受方(实际部署后将账户地址告知) amount 转账金额 locktime 锁定脚本时间(固定值) id 区块链内部标记(固定值)
-
返回值说明:这笔交易的哈希值(transactionHash)
- API 说明 获取所有PRC20和PRC721 token 信息
- 函数定义 GetAllTokenInfo(ctx context.Context) (string, error)
- 参数说明 无需显式指定
- 返回值说明
所有PRC20和PRC721 token 信息 示例: "[{"Symbol":"ZXL","TokenType":1,"Status":0,"CreateAddr":"P16ipfCfnsDVsrJwyLLJquy7qyu7qcLzV3U","TotalSupply":1000,"SupplyAddr":"P16ipfCfnsDVsrJwyLLJquy7qyu7qcLzV3U","AssetID":"ZXL+10CZFEK3PL6GZOJJHT"}]"
- API 说明 获取某一种PRC20和PRC721 token 信息
- 函数定义 GetOneTokenInfo(ctx context.Context, symbol string) (string, error)
- 参数说明 token 的symbol,即简称
- 返回值说明 该种token的信息
- API 说明 查询已花费UTXO
- 函数定义 GetStxo(ctx context.Context, txid string, msgIdx int, outIdx int) (*ptnjson.StxoJson, error)
- 参数说明 txid:交易hash msgIdx: message index outIdx: outindex
- 返回值说明 已花费的StxoJson结构体
type StxoJson struct {
TxHash string `json:"txid"` // reference Utxo struct key field
MessageIndex uint32 `json:"message_index"` // message index in transaction
OutIndex uint32 `json:"out_index"`
Amount uint64 `json:"amount"` // 数量
Asset string `json:"asset"` // 资产类别
PkScriptHex string `json:"pk_script_hex"` // 要执行的代码段
PkScriptString string `json:"pk_script_string"` // 要执行的代码段
Time time.Time `json:"create_time"` //创建该UTXO的时间(打包到Unit的时间)
LockTime uint32 `json:"lock_time"` //锁定时间
SpentByTxId string `json:"spent_by_tx_id"` //交易hash
SpentTime time.Time `json:"spent_time"` //花费时间
//CoinDays uint64 `json:"coin_days"` //这个Utxo存在多少天了。用于计算利息
//AmountWithInterest uint64 `json:"amount_with_interest"` //包含利息后的金额
}
- API 说明 广播签名后的交易
- 函数定义 SendRawTransaction(ctx context.Context, params string) (common.Hash, error)
- 参数说明 params:签名并且进行rlp编码后的交易字符串
- 返回值说明 交易hash
- API 说明构造并签名广播传输token的交易
- 函数定义 TransferToken(ctx context.Context, asset string, from string, to string,amount decimal.Decimal, fee decimal.Decimal, Extra string, password string, duration *uint64) (common.Hash, error)
- 参数说明 asset:资产类型 from:发送者地址 to:接收者地址 amount:数量 fee:手续费 Extra:附加信息 password:地址解锁密码 duration:解锁时长
- 返回值说明 交易hash
- API 说明 创建原始交易
- 函数定义 CreateRawTransaction(ctx context.Context, from string, to string, amount, fee decimal.Decimal) (string, error)
- 参数说明 from:发送地址 to:接收地址 amount:数量 fee:手续费
- 返回值说明 原始交易经过rlp编码后的hex字符串
- API 说明 获取当前地址余额
- 函数定义 GetBalance(ctx context.Context, address string) (map[string]decimal.Decimal, error)
- 参数说明 address:PTN地址
- 返回值说明 资产类型及其余额
-
API 说明:根据token标识符查询存证信息(tranfertoken调用时添加存证信息)
-
函数定义:QueryProofOfExistenceByAsset(asset string) ([]*ptnjson.ProofOfExistenceJson, error)
-
参数说明:token 标识符(string)
-
返回值说明:
unit_hash 区块哈希值 tx_id 交易哈希值 timestamp 时间戳 main_data 主要存证内容 extradata 附加字段 reference 存证的引用标识符
-
API 说明:本地接口测试,完成用户合约模板的本地安装
-
函数定义 Ccinstall(ccname, ccpath, ccversion, ccdescription, ccabi, cclanguage string) (hexutil.Bytes, error)
-
参数说明
- ccname:模板名称
- ccpath:模板安装路径
- ccversion:模板版本号
- ccdescription:模板描述
- ccabi:abi描述
- cclanguage:模板语言类型
-
返回值说明
- hexutil.Bytes:模板Id
- error:错误信息
- API 说明:本地接口测试,完成合约模板的本地部署
- 函数定义 Ccdeploy(templateId string, param []string) (*ContractDeployRsp, error)
- 参数说明
- templateId:合约模板Id
- param:部署合约模板时指定init参数
- 返回值说明
- ContractDeployRsp:部署合约返回信息,包含了请求Id及合约Id
type ContractDeployRsp struct {
ReqId string `json:"reqId"`
ContractId string `json:"ContractId"`
}
- error:错误信息
- API 说明:本地接口测试,完成合约调用
- 函数定义 Ccinvoke(contractAddr string, param []string)(string, error)
- 参数说明
- contractAddr:合约地址
- param:合约执行参数
- 返回值说明
- string:合约执行结果
- error:合约执行错误信息
- API 说明:合约执行结果查询
- 函数定义 Ccquery(contractAddr string, param []string, timeout uint32) (string, error)
- 参数说明
- contractAddr:合约地址
- param:合约查询参数
- timeout:合约查询超时时间
- 返回值说明
- string:合约查询结果
- error:错误信息
- API 说明:合约模板安装
- 函数定义 Ccinstalltx(from, to, amount, fee, tplName, path, version, ccdescription, ccabi, cclanguage string, addr []string) (*ContractInstallRsp, error)
- 参数说明
- from:转账发送方地址
- to:转账接收方地址
- amount:转账金额,单位PTN
- fee:本次交易费用,单位PTN
- tplName:模板名称
- path:模板文件路径
- version:模板名称
- ccdescription:模板描述
- ccabi:abi描述
- cclanguage:模板语言类型,默认"go"
- addr:指定合约部署、执行的节点地址
- 返回值说明
- ContractInstallRsp:合约安装信息,包括交易请求Id,合约模板Id
type ContractInstallRsp struct {
ReqId string `json:"reqId"`
TplId string `json:"tplId"`
}
- error:错误信息
- API 说明:完成合约模板的部署
- 函数定义 Ccdeploytx(ctx context.Context, from, to, amount, fee, tplId string, param []string, extData string) (*ContractDeployRsp, error)
- 参数说明
- from:转账发送方地址
- to:转账接收方地址
- amount:转账金额,单位PTN
- fee:本次交易费用,单位PTN
- tplId:合约模板Id
- param:合约部署参数,即合约init的指定参数
- extData:合约部署扩展数据
- 返回值说明
- ContractDeployRsp:合约部署信息,包括合约交易请求Id,合约Id
type ContractDeployRsp struct {
ReqId string `json:"reqId"`
ContractId string `json:"ContractId"`
}
- error:错误信息
- API 说明:合约执行,实现合约的invoke功能
- 函数定义 Ccinvoketx(from, to, amount, fee, deployId string, param []string, certID string, timeout string) (*ContractDeployRsp, error)
- 参数说明
- from:转账发送方地址
- to:转账接收方地址
- amount:转账金额,单位PTN
- fee:本次交易费用,单位PTN
- deployId:合约部署Id,即合约Id
- param:合约执行参数,即合约invoke对应的参数
- certID:用户证书ID
- timeout:合约执行超时时间,设置为0,则默认使用配置文件制定超时时间,单位秒
- 返回值说明
- ContractDeployRsp:合约执行结果,包括合约交易请求Id,合约Id
type ContractDeployRsp struct {
ReqId string `json:"reqId"`
ContractId string `json:"ContractId"`
}
- error:错误信息
- API 说明:合约执行,通过接口指定密码方式解锁账户
- 函数定义 CcinvoketxPass(from, to, amount, fee, deployId string, param []string, password string, duration *uint64, certID string) (string, error)
- 参数说明
- from:转账发送方地址
- to:转账接收方地址
- amount:转账金额,单位PTN
- fee:本次交易费用,单位PTN
- deployId:合约部署Id,即合约Id
- param:合约执行参数,即合约invoke对应的参数
- password:账户密码
- duration:解锁账户有效时间
- certID:用户证书ID
- 返回值说明
- string:执行结果信息
- error:错误信息
- API 说明:完成token合约执行功能
- 函数定义 CcinvokeToken(from, to, toToken, amount, fee, assetToken, amountToken, deployId string, param []string) (*ContractDeployRsp, error)
- 参数说明
- from:转账发送方地址
- to:转账接收方地址
- amount:转账金额,单位PTN
- fee:本次交易费用,单位PTN
- assetToken:token资产Id
- amountToken:token金额
- deployId:部署Id,即合约Id
- param:合约执行参数,即合约invoke的参数
- 返回值说明
- ContractDeployRsp:合约执行结果,包括合约交易请求Id,合约Id
type ContractDeployRsp struct {
ReqId string `json:"reqId"`
ContractId string `json:"ContractId"`
}
- error:错误信息
- API 说明:停止用户合约执行
- 函数定义 Ccstoptx(ctx context.Context, from, to, amount, fee, contractId string) (string, error)
- 参数说明
- from:转账发送方地址
- to:转账接收方地址
- amount:转账金额,单位PTN
- fee:本次交易费用,单位PTN
- contractId:合约Id
- 返回值说明
- string:合约交易请求Id
- error:错误信息
- API 说明:保证金合约执行
- 函数定义 DepositContractInvoke(from, to, amount, fee string, param []string) (string, error)
- 参数说明
- from:转账发送方地址
- to:转账接收方地址
- amount:转账金额,单位PTN
- fee:本次交易费用,单位PTN
- param:合约执行参数
- 返回值说明
- string:合约执行结果
- error:错误信息
- API 说明:系统配置合约执行
- 函数定义 SysConfigContractInvoke(from, to, amount, fee string, param []string) (string, error)
- 参数说明
- from:转账发送方地址
- to:转账接收方地址
- amount:转账金额,单位PTN
- fee:本次交易费用,单位PTN
- param:合约执行参数
- 返回值说明
- string:合约执行结果
- error:错误信息
- API 说明:保证金合约执行结果查询
- 函数定义 DepositContractQuery(param []string) (string, error)
- 参数说明
- param:查询参数
- 返回值说明
- string:查询结果
- error:错误信息
- API 说明:系统配置合约执行结果查询
- 函数定义 SysConfigContractQuery(param []string) (string, error)
- 参数说明
- param:查询参数
- 返回值说明
- string:查询结果
- error:错误信息
- API 说明:查看某个模板id对应着多个合约实例的合约信息
- 函数定义 GetAllContractsUsedTemplateId(tplId string) ([]*ptnjson.ContractJson, error)
- 参数说明
- tplId:模板Id
- 返回值说明
- ptnjson.ContractJson:合约Json信息
type ContractJson struct {
//Contract Id 即Address,[20]byte,
// 根据用户创建合约实例申请的RequestId截取其后20字节生成
ContractId string `json:"contract_id"` //Hex
ContractAddress string `json:"contract_address"`
TemplateId string `json:"tpl_id"`
Name string `json:"contract_name"`
Status byte `json:"status"` // 合约状态
Creator string `json:"creator"`
CreationTime time.Time `json:"creation_time"` // creation date
Template *ContractTemplateJson `json:"template"`
}
- error:错误信息
- API 说明:通过合约地址,获取合约的详细信息
- 函数定义 GetContractInfoByAddr(contractAddr string) (*ptnjson.ContractJson, error)
- 参数说明
- contractAddr:合约地址
- 返回值说明
- ptnjson.ContractJson:合约Json格式的详细信息
type ContractJson struct {
//Contract Id 即Address,[20]byte,
// 根据用户创建合约实例申请的RequestId截取其后20字节生成
ContractId string `json:"contract_id"` //Hex
ContractAddress string `json:"contract_address"`
TemplateId string `json:"tpl_id"`
Name string `json:"contract_name"`
Status byte `json:"status"` // 合约状态
Creator string `json:"creator"`
CreationTime time.Time `json:"creation_time"` // creation date
Template *ContractTemplateJson `json:"template"`
}
- error:错误信息
- API 说明:通过合约Id,获取合约的详细信息
- 函数定义 GetContractInfoById(contractId string) (*ptnjson.ContractJson, error)
- 参数说明
- contractId:合约Id
- 返回值说明
- ptnjson.ContractJson:合约Json格式的详细信息
type ContractJson struct {
//Contract Id 即Address,[20]byte,
// 根据用户创建合约实例申请的RequestId截取其后20字节生成
ContractId string `json:"contract_id"` //Hex
ContractAddress string `json:"contract_address"`
TemplateId string `json:"tpl_id"`
Name string `json:"contract_name"`
Status byte `json:"status"` // 合约状态
Creator string `json:"creator"`
CreationTime time.Time `json:"creation_time"` // creation date
Template *ContractTemplateJson `json:"template"`
}
- error:错误信息
- API 说明:通过合约模板id获取模板信息
- 函数定义 GetContractTemplateInfoById(contractTplId string) (*modules.ContractTemplate, error)
- 参数说明
- contractTplId:合约模板Id
- 返回值说明
- modules.ContractTemplate合约模板详细信息
type ContractTemplate struct {
TplId []byte `json:"tpl_id"`
TplName string `json:"tpl_name"`
TplDescription string `json:"tpl_description"`
Path string `json:"install_path"`
Version string `json:"tpl_version"`
Abi string `json:"abi"`
Language string `json:"language"`
AddrHash []common.Hash `json:"addr_hash" rlp:"nil"`
Size uint16 `json:"size"`
Creator string `json:"creator"`
}
- error:错误信息
-
API 说明:获取已经安装过的合约模板信息
-
函数定义 listAllContractTemplates()([]*ptnjson.ContractTemplateJson, error)
-
参数说明
-
返回值说明
- ptnjson.ContractTemplateJson:合约模板Json信息
type ContractTemplateJson struct {
TplId string `json:"tpl_id"`
TplName string `json:"tpl_name"`
TplDescription string `json:"tpl_description"`
Path string `json:"install_path"`
Version string `json:"tpl_version"`
Abi string `json:"abi"`
Language string `json:"language"`
AddrHash []string `json:"addr_hash" rlp:"nil"`
Size uint16 `json:"size"`
Creator string `json:"creator"`
}
- error:错误信息
-
API 说明:获取部署的所有合约信息
-
函数定义 listAllContracts() ([]*ptnjson.ContractJson, error)
-
参数说明
-
返回值说明
- ptnjson.ContractJson:合约Json格式信息
type ContractJson struct {
//Contract Id 即Address,[20]byte,
// 根据用户创建合约实例申请的RequestId截取其后20字节生成
ContractId string `json:"contract_id"` //Hex
ContractAddress string `json:"contract_address"`
TemplateId string `json:"tpl_id"`
Name string `json:"contract_name"`
Status byte `json:"status"` // 合约状态
Creator string `json:"creator"`
CreationTime time.Time `json:"creation_time"` // creation date
Template *ContractTemplateJson `json:"template"`
}
- error:错误信息
- API 说明: 获取交易池所有的交易列表
- 函数定义: func Content() map[string]map[string]*RPCTransaction
- 参数说明:
- 无
- 返回值说明:
- pending:已打包的RPCTransaction的json详细信息
- queued: 未打包的PCTransaction的json详细信息
{ pending: { 0x55aef5756ba0d25cdde67fd8dc741a297c8697a37f2ca2e36038e9a480d60054: { hash: "0x55aef5756ba0d25cdde67fd8dc741a297c8697a37f2ca2e36038e9a480d60054", transaction_index: "0x0", unit_index: 18446744073709552000 }, 0xa73cf5b26ff364a0018ff89cd28aae3564912b88d6a659d0e1825b6bf6c4294c: { hash: "0xa73cf5b26ff364a0018ff89cd28aae3564912b88d6a659d0e1825b6bf6c4294c", transaction_index: "0x1", unit_index: 24889 } }, queued: {} }
- API 说明:获取交易池中未打包交易列表
- 函数定义:func Queue() map[common.Hash]*modules.Transaction
- 参数说明:
- 无
- 返回值说明:
- hash为key的map列表,内容是交易的详细信息
- API 说明: 获取交易池已打包的未确认交易列表
- 函数定义:func Pending() ([]*ptnjson.TxPoolPendingJson, error)
- 参数说明:
- 无
- 返回值说明:
- txpoolPendingJson的列表信息
- error 错误信息
- API 说明: 获取交易池中的交易信息
- 函数定义 func Status() map[string]hexutil.Uint
- 参数说明:
- 无
- 返回值说明:
- pending:已经打包的交易数
- queue:未打包的交易数
- orphan:孤儿交易数
PalletOne©2018-2019
Home
Getting started
- Install and build
- Create a private chain
- Launch the PalletOne Client
- Create a PalletOne Account
- Send and Receive PTN
- Create and send your token
- Backing up your account and data
- Restoring your account
- Deposit contract
- Mediator Node Installation and Joining
- Howto Become a Mediator
- Howto Run a Unit-producing Mediator
Developer Tools
- Getting PTNs from PalletOne's Testnet Faucet
- Wallet restful and console API Usage
- Third-Party-Wallet-Support
- Third-Party-Wallet-Contract-Invoke
- API Document
FAQ