帮助go开发者便利的使用趣链开发者平台API
go get github.com/hyperchaincn/qsnark-go-sdk
opt := options.Options{
Phone: " ",
Password: " ",
ClientId: " ",
ClientSecret: " ",
}
if err := qsnark.InitQsnackApi(opt); err != nil {
panic(err)
}
resp, err := qsnark.QApi.QueryBlock(qsnark.QueryTypeNumber, "10")
无特殊需求不需要主动获取,InitQsnackApi()会自动获取token并保持。
qsnark.QApi.GetAccessToken()
Token失效可主动刷新
qsnark.QApi.RefreshAccessToken()
resp, err := qsnark.QApi.QueryBlock(qsnark.QueryTypeNumber, "10")
resp, err := qsnark.QApi.QueryBlockByPage(1, 10)
resp, err := qsnark.QApi.QueryBlockByRange("1", "10")
resp, err := qsnark.QApi.TransactionCount()
hash := `0xed70377c261bfdc7dd7f4fc15c8961c145f9457186d6ff95f60907e9fb63d827`
resp, err := qsnark.QApi.QueryTransaction(hash)
txhash := `0xed70377c261bfdc7dd7f4fc15c8961c145f9457186d6ff95f60907e9fb63d827`
resp, err := qsnark.QApi.TransactionTxreceipt(txhash)
resp, err := qsnark.QApi.DiscardTransaction(1515140350903604865, 1515140350903604867)
resp, err := qsnark.QApi.CompileContract("contract test{}")
bin := "0x60606040523415600e57600080fd5b5b603680601c6000396000f30060606040525b600080fd00a165627a7a72305820b4c36b8b61723f302432d246407a061599017f8607ed26f1c053b5ecc63a54200029"
from := "0x3713c3d01ae09cf32787c9c66c9c0781cf4b613d"
_, err := qsnark.QApi.DeployContract(bin, from)
abi := "[{\"constant\":false,\"inputs\":[{\"name\":\"num1\",\"type\":\"uint32\"},{\"name\":\"num2\",\"type\":\"uint32\"}],\"name\":\"add\",\"outputs\":[],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"getSum\",\"outputs\":[{\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"increment\",\"outputs\":[],\"payable\":false,\"type\":\"function\"}]"
resp, err := qsnark.QApi.GetPayload(abi, []string{"1", "2"}, "add")
req := model.InvokeReq{
Const: false,
From: "fcf359e0069562e3120b3c9065706b52371d63cd",
Payload: "0x3ad14af300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002",
To: "0xbe246d87df310d73b665129ebe5d9542b1fd8044",
}
resp, err := qsnark.QApi.InvokeContract(req)
req := model.InvokeReq{
Const: false,
From: "fcf359e0069562e3120b3c9065706b52371d63cd",
Payload: "0x3ad14af300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002",
To: "0xbe246d87df310d73b665129ebe5d9542b1fd8044",
}
resp, err := qsnark.QApi.InvokeContractSync(req)
req := model.MaintainReq{
Operation: 1,
From: "0x19a170a0413096a9b18f2ca4066faa127f4d6f4a",
Payload: "0x60606040523415600e57600080fd5b5b603680601c6000396000f30060606040525b600080fd00a165627a7a72305820b4c36b8b61723f302432d246407a061599017f8607ed26f1c053b5ecc63a54200029",
To: "0xd3a7bdd391f6aa13b28a72690e19d2ab3d845ac8",
}
resp, err := qsnark.QApi.MaintainContract(req)
resp, err := qsnark.QApi.ContractStatus("0xd3a7bdd391f6aa13b28a72690e19d2ab3d845ac8")
resp, err := qsnark.QApi.CreateAccount()