Releases: go-steem/rpc
RPC v0.10.0
RPC v0.9.0
Summary
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.
Commits
f4bba9c transport/websocket: Rewrite from scratch
RPC v0.8.0
Summary
Improved types.Authority
to be actually a map. That is how it is defined in steemd
.
This is a breaking change, sorry.
Commits
79c5181 types: Improve type Authority
480ea8d types: Add StringInt64Map
RPC v0.7.0
RPC v0.6.0
Summary
Added CommentOperation.JsonMetadata
. Had to move ContentMetadata
from apis/database
into types
, hence the version number incremented.
Commits
efaa109 Add CommentOperation.JsonMetadata
RPC v0.5.0
Summary
Added Client.Database.GetOpsInBlock
.
Commits
b923545 apias/database: Add GetOpsInBlock
bf16641 apis/db: Add GetOpsInBlockRaw
c534224 examples/upvote: Update README
RPC v0.4.0
Summary
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.
Commits
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
Roadmap
For the next release I would like to focus on cleaning up the existing API, particularly considering transactions.
RPC v0.3.0
Summary
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.
Commits
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
RPC v0.2.0
Summary
This release includes multiple breaking changes. Basically the whole package was heavily refactored.
The major changes are following:
- The way the RPC client is created is different now. You don't pass a URL into the constructor, but rather a transport implementation that is then used by the client internally.
- Since there are multiple APIs exposed via the RPC endpoint, the database api, that is the only API supported so far, is not accessible on the client object itself any more, you need to use
client.Database
, i.eclient.Database.GetConfig()
instead ofclient.GetConfig()
. - The WebSocket transport now supports auto-reconnect mode. When enabled, the transport will try to reconnect automatically when the connection is not there yet or it is lost. The transport is also emitting events so that it is possible to see whether the underlying connection is established or not.
- It is also possible to set WebSocket connection read and write timeouts.
Most of the changes are visible in examples/voting_monitor
, except connection deadlines.
RPC v0.1.0
MVP release of go-steem/rpc
.