class Neb::Client::Admin

Attributes

api_version[R]
endpoint[R]
host[R]

Public Class Methods

new() click to toggle source
# File lib/neb/client/admin.rb, line 12
def initialize
  @host        = CONFIG[:host]
  @api_version = CONFIG[:api_version]
  @endpoint    = CONFIG[:admin_endpoint]
end

Public Instance Methods

accounts() click to toggle source
# File lib/neb/client/admin.rb, line 22
def accounts
  send_request(:get, "/accounts")
end
get_config() click to toggle source
# File lib/neb/client/admin.rb, line 82
def get_config
  send_request(:get, "/getConfig")
end
lock_account(address:) click to toggle source
# File lib/neb/client/admin.rb, line 39
def lock_account(address:)
  send_request(:post, "/account/lock", address: address)
end
new_account(passphrase:) click to toggle source
# File lib/neb/client/admin.rb, line 26
def new_account(passphrase:)
  send_request(:post, "/account/new", passphrase: passphrase)
end
node_info() click to toggle source
# File lib/neb/client/admin.rb, line 18
def node_info
  send_request(:get, "/nodeinfo")
end
send_transaction(from:, to:, value:, nonce:, gas_price: 1_000_000, gas_limit: 20_000) click to toggle source
# File lib/neb/client/admin.rb, line 43
def send_transaction(from:, to:, value:, nonce:, gas_price: 1_000_000, gas_limit: 20_000)
  params = {
    from:      from,
    to:        to,
    value:     value.to_i.to_s,
    nonce:     nonce.to_i.to_s,
    gas_price: gas_price.to_i.to_s,
    gas_limit: gas_limit.to_i.to_s
  }
  send_request(:post, "/transaction", params)
end
sign_hash(address:, hash:, alg: 1) click to toggle source
# File lib/neb/client/admin.rb, line 55
def sign_hash(address:, hash:, alg: 1)
  send_request(:post, "/sign/hash", address: address, hash: hash, alg: alg)
end
sign_transaction_with_passphrase(from:, to:, value:, nonce:, gas_price: 1_000_000, gas_limit: 20_000, contract: nil, binary: nil, passphrase:) click to toggle source
# File lib/neb/client/admin.rb, line 59
def sign_transaction_with_passphrase(from:, to:, value:, nonce:, gas_price: 1_000_000, gas_limit: 20_000,
                                     contract: nil, binary: nil, passphrase:)
  params = {
    transaction: {
      from:      from,
      to:        to,
      value:     value.to_i.to_s,
      nonce:     nonce.to_i.to_s,
      gas_price: gas_price.to_i.to_s,
      gas_limit: gas_limit.to_i.to_s,
      contract:  contract,
      binary:    binary
    },
    passphrase:  passphrase
  }

  send_request(:post, "/transactionWithPassphrase", params)
end
start_pprof(listen:) click to toggle source
# File lib/neb/client/admin.rb, line 78
def start_pprof(listen:)
  send_request(:post, "/pprof", listen: listen)
end
unlock_account(address:, passphrase:, duration: '30000000000') click to toggle source
# File lib/neb/client/admin.rb, line 30
def unlock_account(address:, passphrase:, duration: '30000000000')
  params = {
    address:    address,
    passphrase: passphrase,
    duration:   duration
  }
  send_request(:post, "/account/unlock", params)
end

Private Instance Methods

send_request(action, url, payload = {}) click to toggle source
# File lib/neb/client/admin.rb, line 88
def send_request(action, url, payload = {})
  request_url = host + api_version + endpoint + url
  Request.new(action, request_url, payload).execute
end