git clone https://github.com/Cocos-BCX/Go-SDK.git
或者
export GOPROXY=https://goproxy.cn
go.mod 增加
replace CocosSDK => github.com/Cocos-BCX/Go-SDK
import (
sdk "CocosSDK"
"fmt"
)
func main() {
//初始化SDK
//节点host port 是否ssl
sdk.InitSDK("47.93.62.96", false, 8049)
}
方法:sdk.Wallet.LoadWallet(file_path)
参数:file_path 钱包路径
方法:sdk.Wallet.SetDefaultAccount(name, password string) error
参数:name 账户名
password 账户密码
方法:sdk.Wallet.ImportAccount(name , password) error
参数:name 账户名
password 密码
方法:sdk.Wallet.AddAccountByPrivateKey(prkWif, password ) error
参数:prkWif 私钥
password 密码
方法:sdk.Wallet.DeleteAccountByName(name ...string) (err error)
参数:name 账户名
方法:sdk.Wallet.CreateAccount(name , password) (string, error)
参数:name 账户名
password 密码
方法:sdk.Wallet.SaveAs(path string) (string, error)
参数:path 保存路径
方法:sdk.Wallet.UpgradeAccount(name string) (string, error)
参数:name 账户名
方法:sdk.Wallet.RegisterNhAssetCreator(name string) (string, error)
参数:name 账户名
方法:sdk.CreateAsset(symbol string, max_supply, precision, uint64) (string, error)
参数:
symbol token简写
max_supplay 最大发行量
precision 精度
方法:sdk.IssueToken(symbol, issue_to_account string, amount float64) (string, error)
参数:
symbol token简写
issue_to_account 接受Token的账户
amount 发行数量
方法:sdk.UpdateToken(symbol string, max_supply uint64, new_issuer ...string) (string, error)
参数:
new_issuer 新发行人
symbol token简写
max_supplay 最大发行量
方法:sdk.ReserveToken(symbol, amount float64) (string, error)
参数:
symbol token简写
amount 销毁数量
方法:sdk.Pledgegas(beneficiary string, collateral float64) (string, error)
参数:
beneficiary 受益人
collateral 质押数量
方法:sdk.Wallet.Transfer(to, symbol, memo string, value float64) (tx_hash string, err error)
参数:
参数:
symbol token简写
to 接受Token的账户
value 发行数量
memo 备注
方法:sdk.Vote(id string, value float64) (tx_hash string, err error)
参数:
id 备选人ID
value 投票数量
方法:sdk.WithdrawVestingBalance(balance_id string) (string, error)
参数:
balance_id Vesting Balance Id
方法:sdk.CreateWorldView(name string) (string, error)
参数:
name 世界观名称
方法:sdk.RelateWorldView(world_view string) (string, error)
参数:
world_view 世界观名称
方法:sdk.ApprovalsProposal(proposal_id string) (string, error)
参数:
proposal_id 提议的ID
方法:sdk.CreateNhAsset(asset_symbol, world_view, owner_name, base_describe string) (string, error)
参数:
参数:
asset_symbol 当前NH资产交易时,使用的资产符号
owner_name 接受账户
world_view 世界观
base_describe 基础属性
方法:sdk.TransferNhAsset(to_name, asset_id string) (string, error)
参数:
参数:
to_name 接收账户
asset_id NH资产ID
方法:sdk.DeleteNhAsset(asset_id string) (string, error)
参数:
参数:
asset_id NH资产ID
方法:sdk.SellNhAsset(otcaccount_name, asset_id, memo, pending_order_fee_asset, price_asset string, pending_order_fee_amount, price_amount uint64) (string, error)
参数:
参数:
otcaccount_name:OTC交易平台账户,用于收取挂单费用
pending_order_fee_amount:挂单费用数量,用户向OTC平台账户支付的挂单费用
pending_order_fee_asset:挂单费用所用资产符号或ID,用户向OTC平台账户支付的挂单费用
asset_id:NH资产ID
memo:挂单备注信息
price_amount:商品挂单价格数量
price_asset:商品挂单价格所用资产符号或ID
方法:sdk.CancelNhAssetOrder(order_id string) (string, error)
参数:
参数:
order_id :订单ID
方法:FillNhAsset(order_id string) (string, error)
参数:
参数:
order_id :订单ID
方法:sdk.CreateContractByFile(c_name, c_auth, path string) (string, error)
参数:
参数:
c_name :合约名
c_auth :合约权限(一对公私钥中的公钥publicKey)
path :合约(lua 代码)在本地的存放路径
方法:sdk.CreateContract(c_name, c_auth, data string) (string, error)
参数:
参数:
c_name :合约名
c_auth :合约权限(一对公私钥中的公钥publicKey)
data :合约(lua 代码)
方法:sdk.ReviseContractByFile(c_name, path string) (string, error)
参数:
参数:
c_name :合约名
path :合约(lua 代码)在本地的存放路径
方法:sdk.ReviseContract(c_name, data string) (string, error)
参数:
参数:
c_name :合约名
data :合约(lua 代码)
方法:sdk.InvokeContract(contract_name, func_name string, args ...interface{}) (string, error)
参数:
参数:
contract_name : 合约名
func_name : 调用方法名
args :参数
方法:GetNhAssetOrderInfo(id string) NhAssetOrderInfo
参数:
参数:
id : 订单ID
func_name : 调用方法名
args :参数
方法: GetAccountNhAssetOrderList(owner_name string, page, page_size int) OrdersList
方法: GetNhAssetOrderList(asset_name, world_view string, page, page_size int) OrdersList
方法: GetAccountNhAssetOrderList(owner_name string, page, page_size int) OrdersList
方法: GetNhAssetList(acc_name string, page, page_size, _type int, world_view ...string) AssetsList
方法: GetBlock(block_hight int) Block
方法: GetTransactionById(txId string) TransactinInf
方法: GetAccountBalances(acc_name string) *[]rpc.Balance
方法: sdk.GetAllTokenInfo() []*rpc.TokenInfo
方法: sdk.GetAllProposals(acct_id string) *[]rpc.Proposal
方法: sdk.GetAllProposal(proposal_id string) *[]rpc.Proposal
方法: sdk.GetTokenInfoBySymbol(symbol string) *rpc.TokenInfo
方法: sdk.GetTokenInfoById(id string) *rpc.TokenInfo
方法: sdk.GetBlockHeader(block_hight int) *rpc.BlockHeader
方法: sdk.GetContract(contract_name string) *rpc.Contract
方法: sdk.GetVestingBalances(acct_name string) []rpc.VestingBalances
方法: sdk.GetAccountHistorys(acct_name string) []interface{}
方法: sdk.GetFillOrderHistory(asset_id, _asset_id string, limit uint64) []interface{}
方法: sdk.GetMarketHistory(asset_id, _asset_id, start, end string, limit uint64) []interface{}