咱們已經建立過一個回覆消息的機器人和一個能自動支付比特幣的機器人.php
前期準備:你要有一個Mixin Network帳戶。若是沒有帳戶,一行代碼就能建立一個git
$user_info = $mixinSdk->Network()->createUser("Tom cat");
上面的語句會在本地建立一個RSA密鑰對,而後調用Mixin Network來建立賬號,最後輸出賬號信息.github
//Create User api include all account information print_r($user_info); print($user_info["pubKey"]); $newConfig = array(); $newConfig["private_key"] = $user_info["priKey"]; $newConfig["pin_token"] = $user_info["pin_token"]; $newConfig["session_id"] = $user_info["session_id"]; $newConfig["client_id"] = $user_info["user_id"];
賬號建立成功後結果以下:api
Array ( [type] => user [user_id] => de06f952-6ec7-3789-8467-9aa79869a6ef [identity_number] => 0 [full_name] => Tom cat [avatar_url] => [relationship] => [mute_until] => 0001-01-01T00:00:00Z [created_at] => 2019-02-20T12:29:29.86008273Z [is_verified] => [session_id] => bc9293e5-ed9a-48da-99f9-915f561a1c60 [phone] => [pin_token] => TIPyCtRTTYOg2sr+lu0z2D3xS8SOtQAy0ZDnacRrn6u2ytutZinzeEpRTD9N1+DS/T1zJ8VoX4ED19nhF5SApjqjUaRjKI5lga4rQGcePjCvM0D89FdpmKJzNMLjzV2DglKFMPbnJTu1btfILc0XWiSNEiiFr2mHuLI7bYuQzWI= [invitation_code] => [code_id] => [code_url] => https://mixin.one/codes/ [has_pin] => [receive_message_source] => EVERYBODY [accept_conversation_source] => EVERYBODY [priKey] => -----BEGIN PRIVATE KEY----- MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBALh0dSy2GcKek/Jp 4lTMZxJ30AWP+inZ4c+FG+3ch3fenmXysCyM56hgvVZwh4RrRpvVjRt/NNE3k2Wg N9LNZqWXCmo4ae/hJjpwuj/EVR/1/HSebF9hcvMoTre8D0iLlk+rf1tgr/ZHmIoa 8ef45xMBDargfsF4b5k7kUavU9/xAgMBAAECgYB1ShBMOwsMVxvKdIvn0gXkl20e bFvtis9szr5gtO8rSNK+DuD5oyuXRNSAh5OUn0ZJxzQv/OZP9x/x6jw0/kk7Aj6c jjN3beC7UoayDYms4yNFoWNPqZEXkQ0b2tRsF3mdNj6LVm6Gq7FPDD1TYJ4GR4eO cWHCkZWym26HbZ30AQJBAPNFeZ7nd9wQIzu0wN9isrZebnCko3yax64MDsUAsrmP B1wdHkdX0tJpCldighYD10Cyi+nSz3ODmmbPbLu8AjECQQDCGyi0lpCoV+skLVR0 4weU99Msz1neqOw1khQCJLzUW8UdDhsVwfCdzCeuZrCz+gl/aZaJ6d+6rNTMp1hL ionBAkBEs34hTiUfVL9egTFm5KyrrAdscFJrQhraIDWblRLkLGxbqy194GN9YIS3 IO6z4OnNL58rrYlAig30sud2LSZBAkEAjuNXT7kWvBYcbwE/jtwhlLPqrK3nRlWr rLPgLsPEjb8Ql5busVGXQ1IqU+QcaCDEJRshSlzz6YOZEx6NjO5rAQJAejvW3DmT RjUSDJD8hGr9eCpKQTBDXyUEvyLIMCuRmm9Cbz0HRl4aVXOVblVWoJ6YsGvbCkSl LQCrPL2T58JTkg== -----END PRIVATE KEY----- [pubKey] => -----BEGIN PUBLIC KEY----- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC4dHUsthnCnpPyaeJUzGcSd9AF j/op2eHPhRvt3Id33p5l8rAsjOeoYL1WcIeEa0ab1Y0bfzTRN5NloDfSzWallwpq OGnv4SY6cLo/xFUf9fx0nmxfYXLzKE63vA9Ii5ZPq39bYK/2R5iKGvHn+OcTAQ2q 4H7BeG+ZO5FGr1Pf8QIDAQAB -----END PUBLIC KEY----- )
如今你須要當心保管好你的賬號信息,在讀取該帳戶的比特幣資產餘額或者進行其餘操做時,將須要用到這些信息.網絡
新帳號並不默認內置比特幣錢包, 如今讀一下比特幣餘額就能夠建立一個比特幣錢包。session
$asset_infoNew = $mixinSdkNew->Wallet()->readAsset("c6d0c728-2624-429b-8e0d-d9d19b6592fa"); echo "BitCoin wallet address is :".$asset_infoNew["public_key"];
建立的賬號的比特幣資產詳細信息以下,其中public key就是比特幣的存幣地址:ide
Array ( [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] => 195p8R8Y15uzDGMrdVkELVUW2444psqiSq [account_name] => [account_tag] => [price_btc] => 1 [price_usd] => 3928.11498197 [change_btc] => 0 [change_usd] => -0.006841408545228452 [asset_key] => c6d0c728-2624-429b-8e0d-d9d19b6592fa [confirmations] => 12 [capitalization] => 0 )
這個API可以提供若干與比特幣有關的信息:學習
比特幣的私鑰呢?這個私鑰被Mixin Network經過多重簽名保護,因此對用戶來講是不可見的,比特幣資產的提現和轉帳都須要用戶提供正確的的RSA簽名,PIN代碼與會話密鑰才能完成.區塊鏈
這個賬號不僅支持比特幣,還支持以太坊,EOS等, 完整的區塊鏈支持列表. 這個帳戶同時也支持全部的 ERC20 代幣與 EOS 代幣.ui
建立其它的幣的錢包與建立比特幣錢包過程同樣,讀對應的資產餘額就能夠.
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的資產餘額返回結果以下:
Array ( [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] => 0aa2b00fad2c69059ca1b50de2b45569 [price_btc] => 0.00097367 [price_usd] => 3.87734515 [change_btc] => 0.05950956117519646 [change_usd] => 0.07238079041492786 [asset_key] => eosio.token:EOS [confirmations] => 64 [capitalization] => 0 )
如今,你能夠向比特幣的錢包存幣了。
固然,在比特幣網絡裏轉幣,手續費是至關貴的,費用的中位數在0.001BTC,按當前4000美圓的價格,在4美圓左右,有一個方便的辦法,若是你有Mixin Messenger賬號,裏面而且有比特幣的話,能夠直接提現比特幣到新建立的賬號的比特幣充值地址,它們在同一個Mixin Network網絡內,手續費爲0,並且1秒到帳。
下面的代碼,能夠讀取比特幣錢包餘額.
$btc = $mixinSdkNew->Wallet()->readAsset("c6d0c728-2624-429b-8e0d-d9d19b6592fa"); print_r($btc);
任何幣在Mixin Network內部的交易,都是無手續費的,而且馬上到帳。
前期準備: 帳戶設置了PIN
對於新建立的賬號,咱們經過updatePin來設置新PIN碼, 代碼以下:
//Create a PIN. $pinInfo = $mixinSdkNew->Pin()->updatePin('',PIN); print_r($pinInfo);
經過Mixin Messenger,咱們能夠先轉比特幣給機器人,而後讓機器人轉幣給新用戶。
$mixinSdk = new MixinSDK(require './config.php'); //$user_info["user_id"] generated by create user; $trans_info = $mixinSdk->Wallet()->transfer(BTC_ASSET_ID,$user_info["user_id"], $mixinSdk->getConfig()['default']['pin'],AMOUNT); print_r($trans_info);
讀取Bitcoin的餘額,來確認比特幣是否是轉成功了! 注意$mixinSdkNew是新用戶的。
$btc = $mixinSdkNew->Wallet()->readAsset(BTC_ASSET_ID); print_r($btc);
若是你但願將幣存入你的冷錢包或者第三方交易所, 先要獲得冷錢包或者你在第三方交易所的錢包地址,而後將錢包地址提交到Mixin Network.
調用createAddress API, 將會返回一個address_id,下一步的提現操做會用到這個id。
$btcInfo = $mixinSdkNew->Wallet()->createAddress("c6d0c728-2624-429b-8e0d-d9d19b6592fa", "14T129GTbXXPGXXvZzVaNLRFPeHXD1C25C", $mixinSdkNew->getConfig()['default']['pin'], "BTC withdral",false);
這裏的 14T129GTbXXPGXXvZzVaNLRFPeHXD1C25C 就是一個比特幣錢包地址, 以下所示,提現費用是0.0025738 BTC, address_id 是"345855b5-56a5-4f3b-ba9e-d99601ef86c1".
Array ( [type] => address [address_id] => 345855b5-56a5-4f3b-ba9e-d99601ef86c1 [asset_id] => c6d0c728-2624-429b-8e0d-d9d19b6592fa [public_key] => 14T129GTbXXPGXXvZzVaNLRFPeHXD1C25C [label] => BTC withdral [account_name] => [account_tag] => [fee] => 0.0025738 [reserve] => 0 [dust] => 0.0001 [updated_at] => 2019-02-20T01:47:56.44067294Z )
$wdInfo = $mixinSdkNew->Wallet()->readAddress($btcInfo["address_id"]);
提交提現請求到Mixin Network, $btcInfo["address_id"]就是createAddress建立的。
$wdInfo = $mixinSdkNew->Wallet()->withdrawal($btcInfo["address_id"], "0.01", $mixinSdkBot->getConfig()['default']['pin'], "BTC withdral");