国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Python 比特幣教程之三: 創建比特幣錢包,讀余額,極速免費轉賬,標準轉賬

willin / 3320人閱讀

摘要:下面的代碼,可以讀取比特幣錢包余額網內免手續費的,并且即時確認任何幣在內部的交易,都是無手續費的,并且立刻到賬。


我們已經創建過一個回復消息的機器人和一個能自動支付比特幣的機器人.

通過本教程的學習,你可以學到如下內容

如何創建一個比特幣錢包.

如何讀取比特幣錢包的余額.

如何實現免手續費支付比特幣并1秒到賬

如何將Mixin Network的比特幣提現到你的冷錢包或第三方交易所.

通過Mixin Network Python SDK創建一個比特幣錢包

前期準備:你要有一個Mixin Network賬戶。如果沒有賬戶,一行代碼就能創建一個

  userInfo = mixinApiBotInstance.createUser(session_key.decode(),"Tom Bot")

上面的語句會在本地創建一個RSA密鑰對,然后調用Mixin Network來創建帳號,最后輸出帳號信息.

//Create User api include all account information
userInfo.get("data").get("pin_token"),
userInfo.get("data").get("session_id"),
userInfo.get("data").get("user_id"),

帳號創建成功后結果如下:

{"data": {"type": "user", "user_id": "2f25b669-15e7-392c-a1d5-fe7ba43bdf37",
"identity_number": "0", "full_name": "Tom Bot", "avatar_url": "",
"relationship": "", "mute_until": "0001-01-01T00:00:00Z",
"created_at": "2019-02-22T06:23:41.754573722Z", "is_verified": False,
"session_id": "284c7b39-3284-4cf6-9354-87df30ec7d57", "phone": "",
"pin_token": "g4upUgBXa8ATk7yxL6B94HgI4GV4sG4t8Wyn6uTu2Q2scH11UMQ5bYDb6Md+3LRQqRjEdRFcLlHijXGBihRweTaKTZjHQqolWbZcffesVIias6WppV/QMu4TzXCuKa5xpj3uhjL+yPyfWTLGUaVJTJN9n7PQmHSIUBXrovbfodk=",
"invitation_code": "", "code_id": "", "code_url": "", "has_pin": False,
"receive_message_source": "EVERYBODY", "accept_conversation_source": "EVERYBODY"}}

現在你需要小心保管好你的帳號信息,在讀取該賬戶的比特幣資產余額或者進行其他操作時,將需要用到這些信息.

給新建的帳號創建一個比特幣錢包

新賬號并不默認內置比特幣錢包, 現在讀一下比特幣余額就可以創建一個比特幣錢包。

def readAssetAddress(asset_id,isBTC = True):
    with open("new_users.csv", newline="") as csvfile:
        reader  = csv.reader(csvfile)
        for row in reader:
            pin         = row.pop()
            userid      = row.pop()
            session_id  = row.pop()
            pin_token   = row.pop()
            private_key = row.pop()
            mixinApiNewUserInstance = generateMixinAPI(private_key,
                                                        pin_token,
                                                        session_id,
                                                        userid,
                                                        pin,"")
            btcInfo = mixinApiNewUserInstance.getAsset(asset_id)
            print(btcInfo)
            if isBTC:
                print("Account %s "s Bitcoin wallet address is %s  " %(userid,btcInfo.get("data").get("public_key")))
            else:
                print("Account %s "s EOS account name is %s, wallet address is %s  " %(userid,
                                                                        btcInfo.get("data").get("account_name"),
                                                                        btcInfo.get("data").get("account_tag")))

創建的帳號的比特幣資產詳細信息如下,其中public key就是比特幣的存幣地址:

{"data": {"type": "asset", "asset_id": "c6d0c728-2624-429b-8e0d-d9d19b6592fa",
"chain_id": "c6d0c728-2624-429b-8e0d-d9d19b6592fa",
"symbol": "BTC", "name": "Bitcoin",
"icon_url": "https://images.mixin.one/HvYGJsV5TGeZ-X9Ek3FEQohQZ3fE9LBEBGcOcn4c4BNHovP4fW4YB97Dg5LcXoQ1hUjMEgjbl1DPlKg1TW7kK6XP=s128",
"balance": "0",
"public_key": "12sJHR7HJPMt33KwSHyxQvYqGGUEbVGREf",
"account_name": "", "account_tag": "", "price_btc": "1",
"price_usd": "3879.88117389", "change_btc": "0",
"change_usd": "0.017333475714793264",
"asset_key": "c6d0c728-2624-429b-8e0d-d9d19b6592fa",
"confirmations": 12, "capitalization": 0}}
Account a8cefb2e-cb93-338f-aba7-32a3a635ad02 "s Bitcoin wallet address is 12sJHR7HJPMt33KwSHyxQvYqGGUEbVGREf

這個API能夠提供若干與比特幣有關的信息:

存幣地址:[public_key]

Logo: [icon_url]

資產名字:[name]

資產在Mixin Network的uuid: [asset_key]

對美元的價格(Coinmarketcap.com提供): [price_usd]

存幣時確認的區塊數量:[confirmations]

比特幣私鑰呢?

比特幣的私鑰呢?這個私鑰被Mixin Network通過多重簽名保護,所以對用戶來說是不可見的,比特幣資產的提現和轉賬都需要用戶提供正確的的RSA簽名,PIN代碼與會話密鑰才能完成.

不只是比特幣,還有以太坊,EOS等

這個帳號不只支持比特幣,還支持以太坊,EOS等, 完整的區塊鏈支持列表. 這個賬戶同時也支持所有的 ERC20 代幣與 EOS 代幣.

創建其它的幣的錢包與創建比特幣錢包過程一樣,讀對應的資產余額就可以.

Mixin Network 當前支持的加密貨幣 (2019-02-19)
crypto uuid in Mixin Network
EOS 6cfe566e-4aad-470b-8c9a-2fd35b49c68d
CNB 965e5c6e-434c-3fa9-b780-c50f43cd955c
BTC c6d0c728-2624-429b-8e0d-d9d19b6592fa
ETC 2204c1ee-0ea2-4add-bb9a-b3719cfff93a
XRP 23dfb5a5-5d7b-48b6-905f-3970e3176e27
XEM 27921032-f73e-434e-955f-43d55672ee31
ETH 43d61dcd-e413-450d-80b8-101d5e903357
DASH 6472e7e3-75fd-48b6-b1dc-28d294ee1476
DOGE 6770a1e5-6086-44d5-b60f-545f9d9e8ffd
LTC 76c802a2-7c88-447f-a93e-c29c9e5dd9c8
SC 990c4c29-57e9-48f6-9819-7d986ea44985
ZEN a2c5d22b-62a2-4c13-b3f0-013290dbac60
ZEC c996abc9-d94e-4494-b1cf-2a3fd3ac5714
BCH fd11b6e3-0b87-41f1-a41f-f0e9b49e5bf0

EOS的存幣地址與其它的幣有些不同,它由兩部分組成: account_name and account tag, 如果你向Mixin Network存入EOS,你需要填兩項數據: account name 是eoswithmixin,備注里輸入你的account_tag,比如0aa2b00fad2c69059ca1b50de2b45569.

EOS的資產余額返回結果如下:

{"data": {"type": "asset", "asset_id": "6cfe566e-4aad-470b-8c9a-2fd35b49c68d",
"chain_id": "6cfe566e-4aad-470b-8c9a-2fd35b49c68d",
"symbol": "EOS", "name": "EOS",
"icon_url": "https://images.mixin.one/a5dtG-IAg2IO0Zm4HxqJoQjfz-5nf1HWZ0teCyOnReMd3pmB8oEdSAXWvFHt2AJkJj5YgfyceTACjGmXnI-VyRo=s128",
"balance": "0", "public_key": "",
"account_name": "eoswithmixin", "account_tag": "70dae97b661ca9f80cb0e6549feeba6c",
"price_btc": "0.00092392", "price_usd": "3.58276497",
"change_btc": "-0.019294922814297986", "change_usd": "-0.0033825963089133683",
"asset_key": "eosio.token:EOS", "confirmations": 64, "capitalization": 0}}
Account a8cefb2e-cb93-338f-aba7-32a3a635ad02 "s EOS account name is eoswithmixin, wallet address is 70dae97b661ca9f80cb0e6549feeba6c
存入比特幣與讀取比特幣余額

現在,你可以向比特幣的錢包存幣了。

當然,在比特幣網絡里轉幣,手續費是相當貴的,費用的中位數在0.001BTC,按當前4000美元的價格,在4美元左右,有一個方便的辦法,如果你有Mixin Messenger帳號,里面并且有比特幣的話,可以直接提現比特幣到新創建的帳號的比特幣充值地址,它們在同一個Mixin Network網絡內,手續費為0,而且1秒到賬。

下面的代碼,可以讀取比特幣錢包余額.

btcInfo = mixinApiNewUserInstance.getAsset(asset_id)
print("Account %s "s balance is %s  " %(userid,btcInfo.get("data").get("balance")))
Mixin Network網內免手續費的,并且即時確認

任何幣在Mixin Network內部的交易,都是無手續費的,并且立刻到賬。
前期準備: 賬戶設置了PIN

對于新創建的帳號,我們通過updatePin來設置新PIN碼, 代碼如下:

pinInfo = mixinApiNewUserInstance.updatePin(PIN,"")
print(pinInfo)
Mixin Network帳號之間的比特幣支付

通過Mixin Messenger,我們可以先轉比特幣給機器人,然后讓機器人轉幣給新用戶。

mixinApiNewUserInstance = generateMixinAPI(private_key,
                                            pin_token,
                                            session_id,
                                            userid,
                                            pin,"")
btcInfo = mixinApiBotInstance.transferTo(MASTER_UUID, BTC_ASSET_ID, AMOUNT, "")
print(btcInfo)

讀取Bitcoin的余額,來確認比特幣是不是轉成功了! 注意$mixinSdkNew是新用戶的。

btcInfo = mixinApiNewUserInstance.getAsset(asset_id)
print("Account %s "s balance is %s  " %(userid,btcInfo.get("data").get("balance")))
如何將比特幣存入你的冷錢包或者第三方交易所

如果你希望將幣存入你的冷錢包或者第三方交易所, 先要得到冷錢包或者你在第三方交易所的錢包地址,然后將錢包地址提交到Mixin Network.

要點提示: 提現是需要支付收續費的,準備好比特幣包地址!

增加目的錢包地址到Mixin Network

調用createAddress API, 將會返回一個address_id,下一步的提現操作會用到這個id。

BTC_ASSET_ID    = "c6d0c728-2624-429b-8e0d-d9d19b6592fa";
EOS_ASSET_ID    = "6cfe566e-4aad-470b-8c9a-2fd35b49c68d";
BTC_WALLET_ADDR = "14T129GTbXXPGXXvZzVaNLRFPeHXD1C25C";
btcInfo = mixinApiBotInstance.createAddress(BTC_ASSET_ID, BTC_WALLET_ADDR,"BTC","","")
print(btcInfo)

這里的 14T129GTbXXPGXXvZzVaNLRFPeHXD1C25C 就是一個比特幣錢包地址, 如下所示,提現費用是0.0034802 BTC, address_id 是"345855b5-56a5-4f3b-ba9e-d99601ef86c1".

{"data": {"type": "address",
"address_id": "47998e2f-2761-45ce-9a6c-6f167b20c78b",
"asset_id": "c6d0c728-2624-429b-8e0d-d9d19b6592fa",
"public_key": "14T129GTbXXPGXXvZzVaNLRFPeHXD1C25C", "label": "BTC",
"account_name": "", "account_tag": "",
"fee": "0.0034802", "reserve": "0", "dust": "0.0001",
"updated_at": "2019-02-26T00:03:05.028140704Z"}}

如果你操作的是EOS, 示例代碼如下:

EOS_ASSET_ID     = "6cfe566e-4aad-470b-8c9a-2fd35b49c68d";
EOS_WALLET_ADDR  = "3e2f70914c8e8abbf60040207c8aae62";
EOS_ACCOUNT_NAME = "eoswithmixin";
eosInfo = mixinApiBotInstance.createAddress(EOS_ASSET_ID, "","",EOS_ACCOUNT_NAME,EOS_WALLET_ADDR)
print(eosInfo)
創建提現地址成功后,你可以用readAddress讀取最新的提現費。
addr_id = btcInfo.get("data").get("address_id")
addrInfo = mixinApiBotInstance.getAddress(addr_id)
print(addrInfo)
提交提現請求,Mixin Network會即時處理提現請求.

提交提現請求到Mixin Network, $btcInfo["address_id"]就是createAddress創建的。

  mixinApiBotInstance.withdrawals(btcInfo.get("data").get("address_id"),AMOUNT,"")
可以通過blockchain explore來查看進度.

完整的代碼在這兒

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/24581.html

相關文章

  • Python 比特教程之三創建比特錢包,余額,極速免費轉賬標準轉賬

    摘要:下面的代碼,可以讀取比特幣錢包余額網內免手續費的,并且即時確認任何幣在內部的交易,都是無手續費的,并且立刻到賬。 showImg(https://segmentfault.com/img/bVboFVZ?w=1200&h=659);我們已經創建過一個回復消息的機器人和一個能自動支付比特幣的機器人. 通過本教程的學習,你可以學到如下內容 如何創建一個比特幣錢包. 如何讀取比特幣錢包的余...

    blastz 評論0 收藏0
  • 一塊聽聽:Mixin 主網上線語音直播文字稿

    摘要:本文是在一塊聽聽上的語音直播的文字精簡版。主網上線的細節主網在北京時間年月日早上點正式完成了上線。目前主網上線工作已經完成,正在把測試網上的資產遷移到主網上。主網上線意味著什么真的是一個去中心化的區塊鏈項目了。主網上線對來說只是一個起點。 本文是在一塊聽聽上的語音直播的文字精簡版。 Mixin Network的成績,主網和展望 大家好,我是Mixin Network 的李林。非常高興能...

    nanchen2251 評論0 收藏0
  • 如何設計一個比特錢包服務

    摘要:原文鏈接如何設計一個比特幣錢包服務概述總所周知,比特幣全節點的實現目前有兩個版本,一個是中本聰寫的原版,一個是語言寫的。查詢最新區塊高度,錢包轉賬后通過區塊高度來計算交易是否已經確認,比特幣是個區塊確認。 原文鏈接 https://github.com/liyue201/b... 如何設計一個比特幣錢包服務 概述 總所周知,比特幣全節點的實現目前有兩個版本,一個是中本聰c++寫的原版...

    G9YH 評論0 收藏0
  • 一個比特交易的完整流程。

    摘要:本文解釋了比特幣交易的內容,目的和結果。本文底部的信息圖提供了從錢包到區塊鏈的整個比特幣交易流程的全面說明。在文本中使用的任何地方是比特幣交易的縮寫。目的比特幣交易的目的是將一定數量的比特幣的所有權轉移到比特幣地址。 本文解釋了比特幣交易的內容,目的和結果。下面的解釋適用于新手和中級比特幣用戶。 作為加密貨幣用戶,你需要熟悉交易雛形——為了你對這種不斷發展的創新有信心,以及作為理解新興...

    My_Oh_My 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<