From 3160a8e196b14d4b902d92af1dbb9995aa95e142 Mon Sep 17 00:00:00 2001 From: wenewzhang Date: Wed, 22 May 2019 15:37:19 +0800 Subject: [PATCH] multi-instance for the API --- README.md | 24 ++++++++++++++++++++++++ config.yml | 22 ++++++++++++++++++++++ lib/mixin_bot.rb | 5 +++++ multiAPIInstanceTest.rb | 39 +++++++++++++++++++++++++++++++++++++++ mybitcoin_wallet.csv | 16 ++++++++++++++++ 5 files changed, 106 insertions(+) create mode 100644 config.yml create mode 100644 multiAPIInstanceTest.rb create mode 100644 mybitcoin_wallet.csv diff --git a/README.md b/README.md index cf8cbc1..6059f71 100644 --- a/README.md +++ b/README.md @@ -29,6 +29,30 @@ Check it in this toy project: - [mixin_client_demo (python)](https://github.com/myrual/mixin_client_demo) - [mixin-node (nodejs)](https://github.com/virushuo/mixin-node) +## Multi Instance of the API +- ruby multiAPIInstanceTest.rb + +```ruby +wenewzha:mixin_bot wenewzhang$ ruby multiAPIInstanceTest.rb +EOS 0 eoswithmixin 60ec682616408d9486b5975a1361e269 +BTC 0 1MQLQG1FshdVaQrDE36FLGabCitE3vPUA +"----------End of Wallet Assets --------------" +Benz 0.03 0xEa37892b2BE11fE1B57f6ACdB7b8DaBffB832189 +EOS 0 eoswithmixin aae7be03e8ac0d927dcf2fd5a0e5b65c +BTC 0 195p8R8Y15uzDGMrdVkELVUW2444psqiSq +ETC 0 +XRP 0 +XEM 0 +ETH 0 +DASH 0 +DOGE 0 +LTC 0 +SC 0 +ZEN 0 +ZEC 0 +BCH 0 +"----------End of Bot Assets --------------" +``` ## License This project rocks and uses MIT-LICENSE. diff --git a/config.yml b/config.yml new file mode 100644 index 0000000..c1b3bad --- /dev/null +++ b/config.yml @@ -0,0 +1,22 @@ +MIXIN_CLIENT_ID: 'a1ce2967-a534-417d-bf12-c86571e4eefa' +MIXIN_CLIENT_SECRET: 'a3f52f6c417f24bfdf583ed884c5d0cb489320c58222b061298e4a2d41a1bbd7' +MIXIN_DEFAULT_SCOPE: 'PROFILE:READ+PHONE:READ+ASSETS:READ' +MIXIN_PIN_CODE: '457965' +MIXIN_SESSION_ID: '26ed1f52-a3b4-4cc3-840f-469d3f19b10b' +MIXIN_PIN_TOKEN: '0t4EG7tJerZYds7N9QS0mlRPCYsEVTQBe9iD1zNBCFN/XO7XEB87ypsCDWfRmDiZ7izzB/nokuMJEu6RJShMHCdIwYISU9xckA/8hIsRVydvoP14G/9kRidMHl/3RPLDMK6U2yCefo2BH0kQdbcRDxpiddqrMc4fYmZo6UddU/A=' +MIXIN_PRIVATE_KEY: | + -----BEGIN RSA PRIVATE KEY----- + MIICXAIBAAKBgQDaSPE8Cu18xzr8MOcgJx8tQnRdlS7c6JVs23497IGdIybIUYmZ + 8zvgrFozpGjQYz2ayRDMWUQd/wm7e0Tf7n4bVCmQfkk72usAHX6pNA4HUeTeTmDT + sZQKdVx0K84Y3u512cAi5artnUjIsFRPP/LhAX0ujdgNMWIcHrMRh77s1wIDAQAB + AoGAVPW3Dwuhy8MvriDKlLUlaVRIPnRmPQ05u5ji1e9Ls4GPAsDZsdX+JEBxC1Ce + ix1VSP2hUCgeXx55B0O/VvlYk0pfogrxDgOw2dP04uboMG7tSE4TZK8J9zFPUrE0 + wizFmbkgV2OEw33r00FqEhr0KnB9kXOzB5BvKN/FVyXui+ECQQDz1x3hOypW2kM9 + uOqjQyg55VDkkXVZ8RgOmVd24MfkDjRauj1oGgLUWvINzhmXN5m84IhlOz1hgEuO + enHOpMmDAkEA5SuVeRhBZofUoaRbFxWL4jAN6+uuxFxZ0gCc9l4gwFkQp0RbEw/S + tiX9Cl06JR2oc2FBlaO5Vi1u8XfxOSUzHQJBANijfKaJHFrB3A/QZJbcqbaWaEJK + gYqBSzBdSHoTx0R04krhQIFm6rCkhH2DaPUSrwJCMqxN74DarUZOvyIrAeUCQH2F + ecFx/6BhFZ3Tn/Ds5ElneLiXxonW63uSymZG+DlijzSOxDOUnx0VgZuDpK1fqTxJ + MNr9ai5BhFrOD1n1fiECQBafDxsfFQv3w6j5/2PL54DhddGo50FzGxYR1LlttdVI + Q04EytqK7grDDS9PsfeXqdUo0D3NMSJ0BYs/kDsqGSc= + -----END RSA PRIVATE KEY----- diff --git a/lib/mixin_bot.rb b/lib/mixin_bot.rb index a565db1..48d9fab 100644 --- a/lib/mixin_bot.rb +++ b/lib/mixin_bot.rb @@ -14,4 +14,9 @@ module MixinBot def self.api @api ||= MixinBot::API.new(options={}) end + + def self.new(options) + @api = MixinBot::API.new(options) + end + end diff --git a/multiAPIInstanceTest.rb b/multiAPIInstanceTest.rb new file mode 100644 index 0000000..c54215a --- /dev/null +++ b/multiAPIInstanceTest.rb @@ -0,0 +1,39 @@ +require './lib/mixin_bot' +require 'yaml' +require 'csv' + +yaml_hash = YAML.load_file('./config.yml') +WALLET_NAME = "./mybitcoin_wallet.csv" + +bot_config = { + client_id: yaml_hash["MIXIN_CLIENT_ID"], + session_id: yaml_hash["MIXIN_SESSION_ID"], + client_secret: yaml_hash["MIXIN_CLIENT_SECRET"], + pin_token: yaml_hash["MIXIN_PIN_TOKEN"], + private_key: yaml_hash["MIXIN_PRIVATE_KEY"] + } +botAccount = MixinBot.new(bot_config) + +table = CSV.read(WALLET_NAME) + +wallet_config = { + client_id: table[0][3], + session_id: table[0][2], + client_secret: '', + pin_token: table[0][1], + private_key: table[0][0] + } +walletAccount = MixinBot.new(wallet_config) + +assetsWallet = walletAccount.read_assets() +# p assetsWallet +assetsWallet["data"].each { |x| puts x["symbol"] + " " + + x["balance"] + " " + x["public_key"] + + x["account_name"] + " " + x["account_tag"]} +p "----------End of Wallet Assets --------------" + +assetsBot = botAccount.read_assets() +assetsBot["data"].each { |x| puts x["symbol"] + " " + + x["balance"] + " " + x["public_key"] + + x["account_name"] + " " + x["account_tag"]} +p "----------End of Bot Assets --------------" diff --git a/mybitcoin_wallet.csv b/mybitcoin_wallet.csv new file mode 100644 index 0000000..3cbf9e6 --- /dev/null +++ b/mybitcoin_wallet.csv @@ -0,0 +1,16 @@ +"-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQCw3vYgBeVH49R4JO62g0lopgk+kd7F8LASrEbRPGOr9dCoISTI +NvOUMrOFHWwt3/4ZlvbfEaVeGva/Cz8m61tIdO47MLfuu23lDBqoTHyz2X5b6Eqv +4+JGBYqVI0feis5NP6IuU5EOF6wOUle+rcU91YYVoYAapbc/VhI1pKNgQQIDAQAB +AoGALEjXBTOUschIlYBhyI7cnXgdDm6Fgbf+zd4WqSLerdqRUNdjl0GzASMksaqp +QF86Bvw2eam4ZvSHXVQajssVAoesrHlWrR/xYfSvXdfLJfgOEm9amOs70ZEtw1OO +lHMIe9fSbxQ7s3TmI48mFyux2UwWS1pgqvFevluZ49+JMLECQQDcf6EIJF3MtOhZ +CpUIKRix8H2Lst6H1X1YiG+xPq7KKnmgslnMp8phSXEwmtzsbqy0wkLrvbDUWWYM +po+GMZSNAkEAzVkd9QsYY1VoAOBjyDwdR+kQxzIMBc+FZ0wOjbLBfUJqKugL9paF +Rl/8U2biEhLzkpEAzRE5v/3j2+lvFjy/hQJBANrgeloZt16/6bCRl5SNLu1bO1SU +Dt+pZY6fiLfZ8CnQdgG1aPyFRpjCDXDhGRI9XoTkHQfjuYdg4rMGF4xu5PUCQQCk ++0qUS9vGQyISQjYo9BNaaShvwgfiyz4VJggzVEEckDWYT2L9NSXSyt+BapGLj+pe +AV4xY/uQAz4Eu2Hi7d+5AkBxy90kzVv9tgGuJ1FcFUnhFgF2GTxl+DRUH/fz6u+K +n556bUy3c9PJNAVkrjPF9zNfJ8YzbqOOIGgZo/joPXyk +-----END RSA PRIVATE KEY----- +",Y9i5cebKXUE51e4Bj0va0jBNdVIDy++iDJFyE1dsFeStOa8LApqfnZZljeHdjr5XHQiQLyz5C2FrFHQrYCMe1VR8y9BSPIhXYZfqij/T4qFuLgjqnhR1taQDnTIqCwkvB0Bmocg34YxWK4mL+l7O4bmH/93NSiVpwDn+D6wii1g=,3c90a281-21d7-41e0-a94b-8aa897502503,c25136f4-4a4d-3bf0-ac7f-08558c74c413