Class: DbchainClient::Writer

Inherits:
Object
  • Object
show all
Defined in:
lib/dbchain_client/writer.rb

Instance Method Summary collapse

Constructor Details

#initialize(base_url, chain_id, private_key_hex, address = nil) ⇒ Writer

Returns a new instance of Writer.



8
9
10
11
12
# 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

Instance Method Details

#insert_row(app_code, table_name, fields) ⇒ Object



22
23
24
25
26
27
28
29
30
# 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) ⇒ Object



14
15
16
17
18
19
20
# 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