На последнем уроке мы рассказали, как торговать биткоинами в ocean one. Ocean one поддерживает транзакцию любого токена в сети микширования, включая все токены erc20 и EOS, без каких-либо формальностей и сборов, и может напрямую зарегистрировать заказ. Вот как поместить токен erc 20 в транзакцию ocean one!
Здесь мы используем токен erc 20 под названием Benz в качестве примера. Этот токен был пополнен в сети микширования. Вы можете увидеть общее количество и транзакцию этого токена в сети микширования в браузере блокчейна
Подготовительные знания:
Сначала внесите деньги в свой кошелек, а затем используйте getAssets API считывает его UUID
Получите UUID валюты
вызов getAssets API вернет данные JSON, такие как:
- asset_id UUID. из монет
- public_key Адрес текущего кошелька для валюты
- символ Название монеты
if ($line == 'aw') { $mixinSdk_eachAccountInstance = GenerateWalletSDKFromCSV(); $asset_info = $mixinSdk_eachAccountInstance->Wallet()->readAssets(); foreach ($asset_info as $key => $asset) { echo $asset["symbol"] . " " . $asset["asset_id"] ." ". $asset["balance"] . " ". $asset["public_key"].PHP_EOL; } }
вызов getAssets Полный вывод API выглядит следующим образом:
Make your choose:aw run... client id is:26b20aa5-40c0-3e00-9de0-666cfb6f2daa Benz 2b9c216c-ef60-398d-a42a-eba1b298581d 799 0x9A4F6c67444cd6558905ef5B04a4c429b9538A9d EOS 6cfe566e-4aad-470b-8c9a-2fd35b49c68d 0 CNB 965e5c6e-434c-3fa9-b780-c50f43cd955c 4.72599997 0x9A4F6c67444cd6558905ef5B04a4c429b9538A9d BTC c6d0c728-2624-429b-8e0d-d9d19b6592fa 0 17z1Rq3VsyvvXvGWiHT8YErjBoFgnhErB8 XIN c94ac88f-4671-3976-b60a-09064f1811e8 0.01 0x9A4F6c67444cd6558905ef5B04a4c429b9538A9d
ограничить вход
- Платите по предельной цене На единицу ниже или равна рыночной цене
- Продажа по ограниченной цене На единицу выше или равную рыночной цене
Ocean one поддерживает три основных типа цен: usd, In, BTC, т. е. Benz/б/у, Benz/In, Benz/BTC, что показано здесь
Ограничьте цену и разместите заказ на продажу
После регистрации новой валюты вам нужно подождать около минуты, дождаться, пока oceanone инициализирует данные, связанные с новой валютой
if ( $ocmd == 's1') { $p = readline("Input the Price of XIN/USDT: "); $a = readline("Input the Amount of XIN: "); $tMemo = GenerateOrderMemo("A",USDT_ASSET_ID,$p); echo $tMemo . PHP_EOL; $mixinSdk_WalletInstance = GenerateWalletSDKFromCSV(); $asset_info = $mixinSdk_WalletInstance->Wallet()->readAsset(XIN_ASSET_ID); print_r($asset_info); if ( (float) $asset_info["balance"] >= (float) $a ) { $transInfos = $mixinSdk_WalletInstance->Wallet()->transfer(XIN_ASSET_ID,OCEANONE_BOT, $mixinSdk_WalletInstance->getConfig()['default']['pin'], $a, $tMemo); print_r($transInfos); echo "The Order ID (trace_id) is: " . $transInfos["trace_id"] . PHP_EOL; } else { echo "Not enough XIN!\n";} }
Ограничьте цену и заплатите за нее
После регистрации новой валюты вам нужно подождать около минуты, дождаться, пока oceanone инициализирует данные, связанные с новой валютой
if ( $ocmd == 'b1') { $p = readline("Input the Price of XIN/USDT: "); $a = readline("Input the Amount of USDT: "); $tMemo = GenerateOrderMemo("B",XIN_ASSET_ID,$p); echo $tMemo . PHP_EOL; $mixinSdk_WalletInstance = GenerateWalletSDKFromCSV(); $asset_info = $mixinSdk_WalletInstance->Wallet()->readAsset(USDT_ASSET_ID); print_r($asset_info); if ( ((float) $asset_info["balance"] >= 1) && ( (float) $asset_info["balance"] >= (float) $a ) ) { $transInfos = $mixinSdk_WalletInstance->Wallet()->transfer(USDT_ASSET_ID,OCEANONE_BOT, $mixinSdk_WalletInstance->getConfig()['default']['pin'], $a, $tMemo); print_r($transInfos); echo "The Order ID (trace_id) is: " . $transInfos["trace_id"] . PHP_EOL; } else { echo "Not enough USDT!\n";} }
Ознакомьтесь с прейскурантом валюты
Ознакомьтесь с прейскурантом валюты, чтобы подтвердить, прошла ли регистрация успешно!
if ( $ocmd == '2') { getOceanOneMarketInfos(ERC20_BENZ,USDT_ASSET_ID);} function getOceanOneMarketInfos($targetCoin, $baseCoin) { $client = new GuzzleHttp\Client(); $baseUrl = "https://events.ocean.one/markets/".$targetCoin."-".$baseCoin."/book"; $res = $client->request('GET', $baseUrl, [ ]); if ($res->getStatusCode() == "200") { // echo $res->getStatusCode() . PHP_EOL; $resInfo = json_decode($res->getBody(), true); echo "Side | Price | Amount | Funds" . PHP_EOL; foreach ($resInfo["data"]["data"]["asks"] as $key => $exchange) { echo $exchange["side"] . " " . $exchange["price"] . " " . $exchange["amount"] ." " . $exchange["funds"] . PHP_EOL; } foreach ($resInfo["data"]["data"]["bids"] as $key => $exchange) { echo $exchange["side"] . " " . $exchange["price"] . " " . $exchange["amount"] ." " . $exchange["funds"] . PHP_EOL; } } }
Erc 20 соответствующие инструкции по эксплуатации
Список команд этого исходного кода:
- trb:Перевод ERC20 с Бота на кошелек
- trm:Перевод ERC20 с кошелька на Мастер
- о: Океан.Один Обмен
Сделайте свой выбор(например: q для выхода!):
- x: Заказы-Книга заказов 20 ERC/USD
- x1: Купите ERC20, заплатите USD
- x2: Продайте ERC20, чтобы ПРИВЫКНУТЬ
- c: Отмените заказ
- вопрос: Выход
Полный код