Steemit steem-ruby: Create NetworkBroadcastApi#broadcast_transaction_synchronous helper method

Repository

https://github.com/steemit/steem-ruby

Issue

https://github.com/steemit/steem-ruby/issues/16

Details

In steem-ruby, the method Steem::NetworkBroadcastApi#broadcast_transaction_synchronous was never officially available as an RPC. Early versions of AppBase provided this method and steem-ruby would pass it along, but when AppBase dropped it, it also became unavailable in steem-ruby.

Prior to this, steem-ruby didn't even need a concrete class for Steem::NetworkBroadcastApi because it is dynamically defined at runtime with all available methods.

For now, the workaround is to use Steem::CondenserApi#broadcast_transaction_synchronous, but this is not a good long-term solution.

Instead, we should actually add the concrete class called Steem::NetworkBroadcastApi with an instance method of broadcast_transaction_synchronous to simulate the desired behavior by internally polling broadcasts with Steem::TransactionStatusApi#find_transaction.

https://developers.steem.io/apidefinitions/#apidefinitions-transaction-status-api

When the new Steem::NetworkBroadcastApi#broadcast_transaction_synchronous method polls for the transaction, it should poll for within_reversible_block and include block_num in the result like Steem::CondenserApi#broadcast_transaction_synchronous currently does.

Components

  • Create concrete class lib/steem/network_broadcast_api.rb with an instance method broadcast_transaction_synchronous that handles polling
  • Define tests in test/steem/network_broadcast_api_test.rb

Communication

https://github.com/steemit/steem-ruby/blob/master/CONTRIBUTING.md

Github

https://github.com/inertia186

H2
H3
H4
Upload from PC
Video gallery
3 columns
2 columns
1 column
8 Comments