class DbchainClient::Writer
Public Class Methods
new(base_url, chain_id, private_key_hex, address=nil)
click to toggle source
# File lib/dbchain_client/writer.rb, line 8 def initialize(base_url, chain_id, private_key_hex, address=nil) @transaction = DbchainClient::Transaction.new(base_url, chain_id, private_key_hex) from_address = address || PrivateKey.new(private_key_hex).public_key.address @message_generator = DbchainClient::MessageGenerator.new(from_address) end
Public Instance Methods
insert_row(app_code, table_name, fields)
click to toggle source
# File lib/dbchain_client/writer.rb, line 22 def insert_row(app_code, table_name, fields) fields_str = Base64.strict_encode64(fields.to_json) message = generate_message('InsertRow', app_code: app_code, table_name: table_name, fields: fields_str ) sign_and_broadcast([message]) end
send_token(to_address, amount)
click to toggle source
# File lib/dbchain_client/writer.rb, line 14 def send_token(to_address, amount) message = generate_message('MsgSend', to_address: to_address, amount: [{denom: 'dbctoken', amount: amount.to_string}] ) sign_and_broadcast([message]) end
Private Instance Methods
generate_message(message_type, message_data)
click to toggle source
# File lib/dbchain_client/writer.rb, line 34 def generate_message(message_type, message_data) @message_generator.run(message_type, message_data) end
sign_and_broadcast(messages)
click to toggle source
# File lib/dbchain_client/writer.rb, line 38 def sign_and_broadcast(messages) @transaction.sign_and_broadcast(messages) end