Sha256: be0ff99a907a24270dcad02928e0b16727a035a0e08ca6c7e3f570cfef972833

Contents?: true

Size: 1.77 KB

Versions: 21

Compression:

Stored size: 1.77 KB

Contents

#!/usr/bin/env ruby

# This is an example of using the higher level "payment" wrapper. Notice
# that we are using KeyPair instead of the raw rbnacl keys and that we need
# not build the entire heirarchy of xdr object manually.
#
# You can see where these helpers are defined in the files underneath /lib,
# which is where we extend the xdrgen generated source files with our higher
# level api.
#
# NOTE: due to the way that sequence number for a new account are set, this
# example is pretty cumbersome to run.  It is only used for illustrative purposes
# of the flow

require 'stellar-base'
require 'faraday'
require 'faraday_middleware'

$server = Faraday.new(url: "http://localhost:39132") do |conn|
  conn.response :json
  conn.adapter Faraday.default_adapter
end

def submit(key, tx)
  b64      = tx.to_envelope(key).to_xdr(:base64)
  response = $server.get('tx', blob: b64)
  raw = [response.body["result"]].pack("H*")
  p response.body
end

master      = Stellar::KeyPair.master
destination = Stellar::KeyPair.master

submit master, Stellar::Transaction.payment({
  account:     master,
  destination: destination,
  sequence:    1,
  amount:      [:native, 2000]
})

# NOTE: after this step, you need to get the sequence number for destination
# Which is based off of the ledger sequence number it was funded in.
gets # pause to get the account's sequence from the hayashi db

destination_sequence = FILL_ME_IN
# destination_sequence = 17179869185

submit destination, Stellar::Transaction.change_trust({
  account:    destination,
  sequence:   destination_sequence,
  line:       [:alphanum4, "USD\x00", master],
  limit:      1000
})

submit master, Stellar::Transaction.payment({
  account:     master,
  destination: destination,
  sequence:    3,
  amount:      [:alphanum4, "USD\x00", master, 100]
})

Version data entries

21 entries across 21 versions & 2 rubygems

Version Path
stellar-base-0.22.0 examples/non_native_payment.rb
stellar-base-0.21.0 examples/non_native_payment.rb
stellar-base-0.20.0 examples/non_native_payment.rb
stellar-base-0.19.0 examples/non_native_payment.rb
stellar-base-0.18.0 examples/non_native_payment.rb
stellar-base-0.17.0 examples/non_native_payment.rb
stellar-base-0.16.0 examples/non_native_payment.rb
stellar-base-0.15.0 examples/non_native_payment.rb
stellar-base-0.14.0 examples/non_native_payment.rb
stellar-base-0.13.0 examples/non_native_payment.rb
stellar-base-0.12.0 examples/non_native_payment.rb
stellar-base-0.11.0 examples/non_native_payment.rb
auction-ruby-base-0.1.1 examples/non_native_payment.rb
stellar-base-0.10.0 examples/non_native_payment.rb
stellar-base-0.9.0 examples/non_native_payment.rb
stellar-base-0.8.0 examples/non_native_payment.rb
stellar-base-0.7.0 examples/non_native_payment.rb
stellar-base-0.6.1 examples/non_native_payment.rb
stellar-base-0.6.0 examples/non_native_payment.rb
stellar-base-0.5.0 examples/non_native_payment.rb