Golang RPC client library for Steem - https://steem.io
transports/websocket
has been rewritten from scratch.
It uses github.com/sourcegraph/jsonrpc2
and github.com/gorilla/websocket
now.
The transport package should be more robust. The code is much less messy and it uses up-to-date packages.
The transport API is also changes. You can now pass multiple WebSocket endpoint URLs and the auto-reconnect logic will use round-robin to rotate between the URLs provided.
f4bba9c transport/websocket: Rewrite from scratch
This is a very exciting release since from now on go-steem/rpc
supports signed transactions! This means that it is not only possible to read data from the blockchain, you can broadcast new transactions as well!
See examples/upvote
for an example how it all works.
Please note, though, that the transaction API is totally new and it is possible that it will be cleaned and refactored in the future to make SignedTransaction
nicer to use.
9e32c1d examples/upvote: Do some cleanup
0fead91 Update README
cd4cd1f examples/upvote: Add a tx signing example
bb77bf5 Add support for network_broadcast_api
8da615b Implement transaction signing and verification
1afaf86 Refactor types
6f6de8e Add a package for transaction serialization
16b9ff0 Update .gitignore
fce84bc encoding/wif: Add a helper package for WIF parsing
7869f79 database: Fix custom_json unmarshalling, again
327a37f Fix custom_json operation unmarshalling
ccea1aa examples/voting_monitor: Improve the example
For the next release I would like to focus on cleaning up the existing API, particularly considering transactions.
Operation unmarshalling was largely remade and improved. Many more operations are now supported natively as statically typed Go structs. This includes CustomJSONOperation
, which also has some superpowers to parse the embedded JSON and return relevant Go struct as well.
Full support for login_api
and partial support for follow_api
was added.
Other than that there have been numerous bugfixes related to wrong JSON unmarshalling.
4b0a4ca Add partial support for follow_api
10872bf Add support for login_api
168baf7 database: Add support for CustomJSONOperation
4ee8b42 database: Improve/fix unmarshalling
6f28117 types: Fix StringSlice unmarshalling
141beb3 database: Fix ContentMetadata unmarshalling
7510ae9 apis/database: Add GetActiveVotes
bea4dc0 apis/database: Fix PowOperation, again
65bdbdf apis/database: Fix PowOperation unmarshalling
ead3b08 apis/database: Fix ContentMetadata unmarshalling
ea9476c types: Use ParseInLocation to parse time
dd83151 apis/database: Add account_{create,update}
f955a5b Change operation unmarshalling and add missing ops
0087370 README: Update example to the new API
This release includes multiple breaking changes. Basically the whole package was heavily refactored.
The major changes are following:
client.Database
, i.e client.Database.GetConfig()
instead of client.GetConfig()
.Most of the changes are visible in examples/voting_monitor
, except connection deadlines.
MVP release of go-steem/rpc
.