Files
Alvand-P/lib/tasks/wallets.rake
2026-08-13 19:42:08 +03:30

21 lines
791 B
Ruby

require 'faraday'
require 'json'
require 'yaml'
namespace :wallet do
desc 'Generate ethereum wallet from a cryptonode'
task :create, [:kind,:url,:secret] do |_, args|
response = Faraday::Connection.new.post(args.url) do |request|
request.headers["Content-Type"] = "application/json"
request.body = "{\"jsonrpc\":\"2.0\",\"method\":\"personal_newAccount\",\"params\":[\"#{args.secret}\"],\"id\":1}"
request.options.timeout = 300
end
address = JSON.parse(response.body)['result']
puts "----- Generating a new #{args.kind} wallet -----", "Address: " + address
@config['wallets']['eth'].find { |w| w['kind'] == args.kind }.update('address' => address, 'secret' => args.secret)
File.open(CONFIG_PATH, 'w') {|f| f.write @config.to_yaml }
end
end