摘要:比特幣的到帳時間是個區塊的高度,約分鐘。請注意,比特幣與的地址是一樣的。
方案一: 通過ExinCore API進行幣幣交易
Exincore 提供了基于Mixin Network的幣幣交易API.
你可以支付USDT給ExinCore, ExinCore會以最低的價格,最優惠的交易費將你購買的比特幣轉給你, 每一幣交易都是匿名的,并且可以在區塊鏈上進行驗證,交易的細節只有你與ExinCore知道!
ExinCore 也不知道你是誰,它只知道你的UUID.
預備知識:你先需要創建一個機器人, 方法在 教程一.
安裝依賴包正如教程一里我們介紹過的, 我們需要依賴 mixin-sdk-go, 你應該先安裝過它了, 這兒我們再安裝 uuid, msgpack 兩個軟件包.
go get -u github.com/vmihailenco/msgpack go get -u github.com/satori/go.uuid充幣到 Mixin Network, 并讀出它的余額.
ExinCore可以進行BTC, USDT, EOS, ETH 等等交易, 這兒演示如果用 USDT購買BTC 或者 用BTC購買USDT, 交易前,先檢查一下錢包地址!
完整的步驟如下:
檢查比特幣或USDT的余額,錢包地址。并記下錢包地址。
從第三方交易所或者你的冷錢包中,將幣充到上述錢包地址。
再檢查一下幣的余額,看到帳與否。(比特幣的到帳時間是5個區塊的高度,約100分鐘)。
請注意,比特幣與USDT的地址是一樣的。
if cmd == "2" { userInfo, userID := ReadAssetInfo("BTC") fmt.Println("User ID ",userID, ""s BTC Address is: ", userInfo["data"].(map[string]interface{})["public_key"]) fmt.Println("Balance is: ", userInfo["data"].(map[string]interface{})["balance"]) } if cmd == "3" { userInfo, userID := ReadAssetInfo("USDT") fmt.Println("User ID ",userID, ""s USDT Address is: ", userInfo["data"].(map[string]interface{})["public_key"]) fmt.Println("Balance is: ", userInfo["data"].(map[string]interface{})["balance"]) }查詢ExinCore市場的價格信息
如果來查詢ExinCore市場的價格信息呢?你要先了解你交易的基礎幣是什么,如果你想買比特幣,賣出USDT,那么基礎貨幣就是USDT;如果你想買USDT,賣出比特幣,那么基礎貨幣就是比特幣.
if cmd == "6" { priceInfo, err := GetMarketPrice(mixin.GetAssetId("USDT")) if err != nil { log.Fatal(err) } var marketInfo map[string]interface{} err = json.Unmarshal([]byte(priceInfo), &marketInfo) fmt.Println("Asset | price | min | max | exchanges") for _, v := range (marketInfo["data"].(map[string]interface{})) { fmt.Println(v.(map[string]interface{})["exchange_asset_symbol"],"/", v.(map[string]interface{})["base_asset_symbol"], v.(map[string]interface{})["price"], v.(map[string]interface{})["minimum_amount"], v.(map[string]interface{})["maximum_amount"], v.(map[string]interface{})["exchanges"], ) } } func GetMarketPrice(asset_id string) ([]byte, error) { var body []byte req, err := http.NewRequest("GET", "https://exinone.com/exincore/markets?base_asset="+asset_id, bytes.NewReader(body)) if err != nil { return nil, err } req.Header.Set("Content-Type", "application/json") resp, err := httpClient.Do(req) if err != nil { return nil, err } defer resp.Body.Close() // fmt.Println(resp.Body) bt, err := ioutil.ReadAll(resp.Body) if resp.StatusCode != http.StatusOK { var resp struct { Error Error `json:"error"` } err = json.Unmarshal(bt, &resp) if err == nil { err = resp.Error } } return bt, err }交易前,創建一個Memo!
在第二章里,基于Mixin Network的PHP比特幣開發教程: 機器人接受比特幣并立即退還用戶, 我們學習過退還用戶比特幣,在這里,我們除了給ExinCore支付幣外,還要告訴他我們想購買的幣是什么,即將想購買的幣存到memo里。
packUuid, _ := uuid.FromString(mixin.GetAssetId("BTC")) pack, _ := msgpack.Marshal(OrderAction{A: packUuid}) memo := base64.StdEncoding.EncodeToString(pack) // fmt.Println(memo)幣幣交易的完整流程
轉幣給ExinCore時,將memo寫入你希望購買的幣,否則,ExinCore會直接退幣給你!
如果你想賣出比特幣買入USDT,調用方式如下:
EXIN_BOT = "61103d28-3ac2-44a2-ae34-bd956070dab1"; packUuid, _ := uuid.FromString(mixin.GetAssetId("USDT")) pack, _ := msgpack.Marshal(OrderAction{A: packUuid}) memo := base64.StdEncoding.EncodeToString(pack) // fmt.Println(memo) priKey, pToken, sID, userID, uPIN := GetWalletInfo() bt, err := mixin.Transfer(EXIN_BOT,"0.0001",mixin.GetAssetId("BTC"),memo, messenger.UuidNewV4().String(), uPIN,pToken,userID,sID,priKey) if err != nil { log.Fatal(err) } fmt.Println(string(bt))
如果你想賣出USDT買入比特幣,調用方式如下:
packUuid, _ := uuid.FromString(mixin.GetAssetId("BTC")) pack, _ := msgpack.Marshal(OrderAction{A: packUuid}) memo := base64.StdEncoding.EncodeToString(pack) // fmt.Println(memo) priKey, pToken, sID, userID, uPIN := GetWalletInfo() bt, err := mixin.Transfer(EXIN_BOT,"0.0001",mixin.GetAssetId("USDT"),memo, messenger.UuidNewV4().String(), uPIN,pToken,userID,sID,priKey) if err != nil { log.Fatal(err) } fmt.Println(string(bt))
交易完成后,Exincore會將你需要的幣轉到你的帳上,同樣,會在memo里,記錄成交價格,交易費用等信息!你只需要按下面的方式解開即可!
readUserSnapshots 讀取錢包的交易記錄。
一次成功的交易如下:
------------MEMO:-coin--exchange-------------- memo: hqFDzQPooVCnMzg3Mi45N6FGqTAuMDAwNzc0NqJGQcQQgVsLGidkNzaPqkLWlPpiCqFUoUahT8QQIbfeL6p5RVOcEP0mLb+t+g== You Get Coins: 815b0b1a-2764-3736-8faa-42d694fa620a 0.3857508 Successful Exchange: Fee asset ID: 815b0b1a-2764-3736-8faa-42d694fa620a fee is :0.0007746 Order ID: 21b7de2f-aa79-4553-9c10-fd262dbfadfa Price is :3872.97 --------------memo-record end---------------讀取幣的余額
通過讀取幣的余額,來確認交易情況!
if cmd == "2" { userInfo, userID := ReadAssetInfo("BTC") fmt.Println("User ID ",userID, ""s BTC Address is: ", userInfo["data"].(map[string]interface{})["public_key"]) fmt.Println("Balance is: ", userInfo["data"].(map[string]interface{})["balance"]) } if cmd == "3" { userInfo, userID := ReadAssetInfo("USDT") fmt.Println("User ID ",userID, ""s USDT Address is: ", userInfo["data"].(map[string]interface{})["public_key"]) fmt.Println("Balance is: ", userInfo["data"].(map[string]interface{})["balance"]) }源代碼執行
執行 go run coin_exchange.go 即可開始交易了.
1: Create Wallet
2: Read Bitcoin balance & Address
3: Read USDT balance & Address
4: Read EOS balance & address
5: pay 0.0001 BTC buy USDT
6: Read ExinCore Price(USDT)
7: Read ExinCore Price(BTC)
8: pay 1 USDT buy BTC
q: Exit
Make your choose:
完整代碼
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/24618.html
摘要:課程簡介創建一個機器人機器人接受比特幣并立即退還用戶創建比特幣錢包買賣實時兌換買賣在自由市場掛單買賣買賣任意在自由市場掛單買賣其他編程語言比特幣開發教程如下比特幣開發教程比特幣開發教程比特幣開發教程比特幣開發教程比特幣開發教程比特幣開發教程 showImg(https://segmentfault.com/img/bVboFQ6?w=1200&h=659); 課程簡介 PHP 創建一...
摘要:課程簡介創建一個機器人機器人接受比特幣并立即退還用戶創建比特幣錢包買賣實時兌換買賣在自由市場掛單買賣買賣任意在自由市場掛單買賣其他編程語言比特幣開發教程如下比特幣開發教程比特幣開發教程比特幣開發教程比特幣開發教程比特幣開發教程比特幣開發教程 showImg(https://segmentfault.com/img/bVboFQ6?w=1200&h=659); 課程簡介 PHP 創建一...
摘要:方案二掛單交易所是基于的去中心化交易所,它性能一流。完整的步驟如下檢查比特幣或的余額,錢包地址。比特幣的到帳時間是個區塊的高度,約分鐘。 showImg(https://segmentfault.com/img/remote/1460000018378805?w=1200&h=659); 上一章介紹了Exincore,你可以1秒完成資產的市價買賣。如果你想限定價格買賣,或者買賣一些ex...
摘要:提供了一個實時買賣。買賣比特幣和其他資產只需兩秒鐘。秒付款,秒收款。支持的開源錢包多語言教程買賣比特幣買賣比特幣買賣比特幣買賣比特幣是一個基于公鏈的服務。為開發者提供了豐富的開發資料,開發者可以分鐘搭建自己的數字貨幣支付服務。 showImg(https://segmentfault.com/img/bVbq6vY?w=256&h=256);ExinCore 提供了一個實時買賣API。...
摘要:提供了一個實時買賣。買賣比特幣和其他資產只需兩秒鐘。秒付款,秒收款。支持的開源錢包多語言教程買賣比特幣買賣比特幣買賣比特幣買賣比特幣是一個基于公鏈的服務。為開發者提供了豐富的開發資料,開發者可以分鐘搭建自己的數字貨幣支付服務。 showImg(https://segmentfault.com/img/bVbq6vY?w=256&h=256);ExinCore 提供了一個實時買賣API。...
閱讀 1644·2021-10-25 09:46
閱讀 3239·2021-10-08 10:04
閱讀 2386·2021-09-06 15:00
閱讀 2786·2021-08-19 10:57
閱讀 2093·2019-08-30 11:03
閱讀 993·2019-08-30 11:00
閱讀 2393·2019-08-26 17:10
閱讀 3562·2019-08-26 13:36