In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-02-28 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Internet Technology >
Share
Shulou(Shulou.com)06/01 Report--
This article mainly explains "what is the method of Bytom information winding". The content of the article is simple and clear, and it is easy to learn and understand. Please follow the editor's train of thought to study and learn "what is the method of Bytom information winding".
Many people who know better than the original chain know that the original chain is a common chain project that focuses on the interaction and flow of information and digital assets on the chain, and the information on the chain is not the core competence of the original chain, so it does not make a functional entrance at the end of the wallet. but the original chain provides relevant interfaces to write some information to the chain. So how to realize the information winding? Using a special Retire operation, this operation can destroy assets, but because it can be accompanied by information, it can be used to link the information.
Please read on, also use postman to request a demonstration, and then write an interface demo in golang. Before implementing it in golang code, we need to do some preparatory work.
First of all, make sure that you have set up the original node locally.
Make sure your account has enough BTM test coins.
Issue one's own assets
The essence of information winding is to create and send a transaction. We all know that there are three main steps to initiate a transaction through api: first, build → sign → submit, and the corresponding api are build-transaction, sign-transaction, and submit-transaction. The request process with postman is as follows:
Request build-transaction API:
Request parameters:
{"base_transaction": null, "actions": [{"account_id": "0KTCS3R5G0A02", "amount": 10000000, "asset_id": "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", "type": "spend_account"}, {"account_id": "0KTCS3R5G0A02", "amount": 100, "asset_id": "608037f96e8d1613d900c67a0730cc90e2a03311fb7d091588f7eb551a6103cd", "type": "spend_account"} {"account_id": "0KTCS3R5G0A02", "amount": 100," asset_id ":" 608037f96e8d1613d900c67a0730cc90e2a03311fb7d091588f7eb551a6103cd "," arbitrary ":" 77656c636f6d65efbc8ce6aca2e8bf8ee69da5e588b0e58e9fe5ad90e4b896e7958c "," type ":" retire "}]," ttl ": 0," time_range ": 1521625823}
Request sign-transaction API:
Request parameters:
{"password": "huangxinglong123", "transaction": {"allow_additional_actions": false, "local": true, "raw_transaction": "0701dfd5c8d505020160015e560352e415b41be7648b2241ffdabf56259bc618525f62ac123dce32002110f0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0989fe3020001160014adb6632c5b10c6d5b6f97b8d1250f6e409e11c0101000161015f560352e415b41be7648b2241ffdabf56259bc618525f62ac123dce32002110f0608037f96e8d1613d900c67a0730cc90e2a03311fb7d091588f7eb551a6103cd9cc5b191f3190101160014dcfd9b78c24260823e318153665d511d6c4ecb1b010003013dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0ebbcde02011600147a9baebd37dba3f14960624ed8e6ca3cc9d5f73800013e608037f96e8d1613d900c67a0730cc90e2a03311fb7d091588f7eb551a6103cdb8c4b191f31901160014f0370fdf7a7bec7b34cc62fd5291071a3dc3d9b0000147608037f96e8d1613d900c67a0730cc90e2a03311fb7d091588f7eb551a6103cd6401246a2277656c636f6d65efbc8ce6aca2e8bf8ee69da5e588b0e58e9fe5ad90e4b896e7958c00", "signing_instructions": [{"position": 0 "witness_components": [{"keys": [{"derivation_path": ["0000002c", "00000099", "0100000000000000" "010000000000000000", "460000000000000000"], "xpub": "1c03161a08a4dbb7df153815a28f733fec1ac7579f954c4834e5ce9f0ad8deb260ecb2066a8623b69aa936f5798f4dcb9572bc476f2c8171953ce054d58a759f"}], "quorum": 1 "signatures": null, "type": "raw_tx_signature"}, {"type": "data", "value": "4f089176a5bca95ec9227b8a87dfec947c59453805bf46d3f5a18f8032255b5a"}]}, {"position": 1 "witness_components": [{"keys": [{"derivation_path": ["0000002c", "00000099", "0100000000000000" "010000000000000000", "470000000000000000"], "xpub": "1c03161a08a4dbb7df153815a28f733fec1ac7579f954c4834e5ce9f0ad8deb260ecb2066a8623b69aa936f5798f4dcb9572bc476f2c8171953ce054d58a759f"}], "quorum": 1 "signatures": null, "type": "raw_tx_signature"}, {"type": "data", "value": "67512f9250f559699e32c72c8af29096b1556af145f6ecc0c306e6acc88bbfaa"}]}}
Request submit-transaction API:
Request parameters:
{"raw_transaction": "0701dfd5c8d505020160015e560352e415b41be7648b2241ffdabf56259bc618525f62ac123dce32002110f0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0989fe3020001160014adb6632c5b10c6d5b6f97b8d1250f6e409e11c01630240c7004022db674ff2961b540d4edab846d550429ae9a92311ba375a4f452331422961fdcde3bf79631755dd12df409e24a849158d4aeab919cab81520fb7d1e02204f089176a5bca95ec9227b8a87dfec947c59453805bf46d3f5a18f8032255b5a0161015f560352e415b41be7648b2241ffdabf56259bc618525f62ac123dce32002110f0608037f96e8d1613d900c67a0730cc90e2a03311fb7d091588f7eb551a6103cd9cc5b191f3190101160014dcfd9b78c24260823e318153665d511d6c4ecb1b6302406b75ef5a9decfa31d4f5ae06e0fb14ca507ba4a03715874d1d831516945121573b9b858e4d7527d209c1f89f74e0aa4c4e38afd098cbadaff31b9107167099012067512f9250f559699e32c72c8af29096b1556af145f6ecc0c306e6acc88bbfaa03013dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0ebbcde02011600147a9baebd37dba3f14960624ed8e6ca3cc9d5f73800013e608037f96e8d1613d900c67a0730cc90e2a03311fb7d091588f7eb551a6103cdb8c4b191f31901160014f0370fdf7a7bec7b34cc62fd5291071a3dc3d9b0000147608037f96e8d1613d900c67a0730cc90e2a03311fb7d091588f7eb551a6103cd6401246a2277656c636f6d65efbc8ce6aca2e8bf8ee69da5e588b0e58e9fe5ad90e4b896e7958c00"}
Response parameters:
{"status": "success", "data": {"tx_id": "5ef27b930646d468bbb436d3406972ff201aa63702518f777e31dd6a2147dddc"}}
Use the tx_id returned above to check the transaction details in the original browser, and you can see the data we uploaded.
Reference Code:
Package mainimport ("bytes", "encoding/json", "fmt", "io/ioutil"net/http") / build-transaction params// https://bytom.github.io/mydoc_RPC_call.cn.html#build-transactiontype BytomAccount struct {AccountId string `json: "account_id" `Amount int `json: "amount" `AssetId string `json: "asset_id" `/ / Arbitrary string `json: "arbitrary" `Type string `json: "type"`} type BytomAccount1 struct {AccountId string `json: "account_id" `Amount Int `json: "amount" `AssetId string `json: "asset_id" `Arbitrary string `json: "arbitrary" `Type string `json: "type" `} type BaseTransaction struct {} type TransactionParams struct {BaseTransaction * BaseTransaction `json: "base_transaction" `Actions [] interface {} `json: "actions" `Ttl int `json: "ttl" `TimeRange int `json: "time_range"`} / / sign-transaction params//https : / / bytom.github.io/mydoc_RPC_call.cn.html#build-transactiontype Transaction struct {} type SignParams struct {Password string `json: "password" `Transaction Transaction `json: "transaction" `} / / submit-transaction// https://bytom.github.io/mydoc_RPC_call.cn.html#build-transactiontype SubmitParams struct {RawTransaction string `json: "raw_transaction"`} type SubmitResponse struct {TxId string `json: "tx_id" `} func main () {account1 Account2, account3: = BytomAccount {}, BytomAccount {}, BytomAccount1 {} account1.AccountId = "0KTCS3R5G0A02" account1.Amount = 10000000account1.AssetId = "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" account1.Type = "spend_account" account2.AccountId = "0KTCS3R5G0A02" account2.Amount = 100account2.AssetId = "608037f96e8d1613d900c67a0730cc90e2a03311fb7d091588f7eb551a6103cd" account2.Type = "spend_account" account3.AccountId = "0KTCS3R5G0A02" account3.Amount = 100account3.AssetId = "608037f96e8d1613d900c67a0730cc90e2a03311fb7d091588f7eb551a6103cd" account3.Arbitrary = "77656c636f6d65efbc8ce6aca2e8bf8ee69da5e588b0e58e9fe5ad90e4b896e7958c" account3.Type = "retire" / / var arrayvar actions [] interface {} / / append three paramsarray_actions: = append (actions, account1, account2) Account3) transaction_params: = & TransactionParams {} transaction_params.Actions = array_actionstransaction_params.Ttl = 0transaction_params.TimeRange = 1521625823 / local test network node / / build-transactionport: = "http://127.0.0.1:9888/build-transaction"value, err: = SendTransactionRetire (transaction_params, port) if err! = nil {fmt.Println (" err: ", err)} fmt.Println (" parameters returned by build-transaction API: " Value) / / sign-transaction//.//submit-transaction//.} / / send post requestfunc SendTransactionRetire (params * TransactionParams, port string) (v interface {}, err error) {/ / connect ParamsStr with local test network node, err: = json.Marshal (params) if err! = nil {return nil, err} jsonStr: = bytes.NewBuffer (ParamsStr) fmt.Println (jsonStr) req, err: = http.NewRequest ("POST") Port, jsonStr) req.Header.Set ("Content-Type", "application/json") req.Header.Add ("Accept", "application/json") client: = & http.Client {} resp, err: = client.Do (req) if err! = nil {panic (err)} defer resp.Body.Close () var bodyBytes [] byteif resp.StatusCode = = 200 {bodyBytes, err = ioutil.ReadAll (resp.Body) if err! = nil {return nil Err}} return string (bodyBytes), nil} Thank you for reading The above is the content of "what is the method of Bytom information winding". After the study of this article, I believe you have a deeper understanding of what the method of Bytom information winding is, and the specific use needs to be verified in practice. Here is, the editor will push for you more related knowledge points of the article, welcome to follow!
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.