Go Steem Rpc Versions Save

Golang RPC client library for Steem - https://steem.io

v0.10.0

6 years ago

Summary

This is just a minor release to fix issues when processing blocks.

Commits

9758023 apis/database: Fix ContentMetadata UnmarshalJSON

v0.9.0

6 years ago

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

v0.8.0

6 years ago

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

v0.7.0

6 years ago

Summary

Basically reverted the previous release, added types.CommentOperation.JsonMetadata as a string field.

Commits

86fb422 types: Add CommentOperation.JsonMetadata 57b3a4f Revert "Add CommentOperation.JsonMetadata"

v0.6.0

6 years ago

Summary

Added CommentOperation.JsonMetadata. Had to move ContentMetadata from apis/database into types, hence the version number incremented.

Commits

efaa109 Add CommentOperation.JsonMetadata

v0.5.0

6 years ago

Summary

Added Client.Database.GetOpsInBlock.

Commits

b923545 apias/database: Add GetOpsInBlock
bf16641 apis/db: Add GetOpsInBlockRaw
c534224 examples/upvote: Update README

v0.4.0

7 years ago

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.

v0.3.0

7 years ago

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

v0.2.0

7 years ago

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.e client.Database.GetConfig() instead of client.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.

v0.1.0

7 years ago

MVP release of go-steem/rpc.