steemit / simple_steem_client

A minimalist Steem RPC client in Python
2 stars 5 forks source link

Missing block representation in Pure Python serializer #16

Closed Kiwonik closed 6 years ago

Kiwonik commented 6 years ago

In order to read (and filter) operations from main net node (as required by e.g. Populate Transaction issue of tinman https://github.com/steemit/tinman/issues/2) using block_api's get_block method a representation of block is needed in Pure Python serializer. The lacking functionality is block operation iteration that allows to get block's operations in form of python objects.

goldibex commented 6 years ago

this should be very straightforward. can you point me to the exact definition of the block object in steemd?

goldibex commented 6 years ago

ping @Kiwonik

Kiwonik commented 6 years ago

@goldibex That'd be signed_block (in protocol/block.hpp) having a container of signed_transaction (protocol/transaction.hpp) inheriting from transaction (same file) having a container of operation (protocol/operations.hpp) that need be iterated from the block's representation.

Kiwonik commented 6 years ago

@goldibex I'm cancelling this issue and accompanying PR after I discovered they are based on some misunderstanding regarding the pure python serializer you wrote. I've just been explained by @mvandeberg that the serializer was never intended to be used the way I described in this issue - to create a python object representing a transaction for example, that allows to e.g. iterate all of the operations it contains (as python objects too). All I can get from the serializer is a sequence of bytes i.e. a binary representation and not an object (as in object oriented programming) representation. I'll get my results operating on JSON output of appropriate steemd api with no use of serializer.