如下:
ENV['RAILS_ENV'] = ARGV.first || ENV['RAILS_ENV'] || 'production' require File.expand_path(File.dirname(__FILE__) + "/../config/environment") require 'rails' require 'rubygems' require 'rufus/scheduler' require 'json' USDT_OMNI_ID = 31 USDT_RPC_URL = "http://cadae:[email protected]:8332" command = %Q{ curl --data-binary '{"jsonrpc": "1.0", "id": "curltest", "method": "listaddressgroupings", "params": []}' -H 'content-type:text/plain;' #{USDT_RPC_URL}} json = JSON.parse( `#{command}`) puts json['result'].size addresses = json['result'].flatten.select { |e| e.to_s.length > 10 } puts addresses.size puts addresses.inspect #addresses.each do |address| # query_balance_command = %Q{curl --data-binary '{"jsonrpc": "1.0", "id": "6", "method": "omni_getbalance", "params": ["#{address}", #{USDT_OMNI_ID}]}' -H 'content-type:text/plain;' #{USDT_RPC_URL}} # puts query_balance_command # result = `#{query_balance_command}` # JSON.parse(result) # balance = result['balance'] # reserved = result['reserved'] # frozen = result['frozen'] # if balance != 0 || reserved != 0 || frozen != 0 # Rails.logger.info "== #{address}, result : #{result.inspect}" # else # 0 # end #end (0..6).each_with_index do |e,i| from = e * 20 puts "======= from: #{from}, to: #{from + 19}" new_array = addresses[from,19] data = new_array.map {|a| "addr=#{a}"}.join("&") query_omni_command = %Q{curl \ -X POST \ -H "Content-Type: application/x-www-form-urlencoded" \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "#{data}" "https://api.omniwallet.org/v2/address/addr/" } Rails.logger.info "== command: #{query_omni_command}" Rails.logger.info `#{query_omni_command}` sleep 30 end puts "done"