Below is a list of libraries that need updating. As each library is identified, create a project for it, and add a task there to update it.
hive-js
hive-python
lighthive
Beem
dhive
hive-tx
Any API call that returned a response that included the word steem or sbd has been changed to substitute the words hive or hbd respectively. Please do a global search and replace for any such code in your library or app.
Here is a list of known API changes of this type (just a starting point, please add to this list as you find them):
The fields reward_steem and reward_sbd have been renamed to reward_hive and reward_hbd in get_ops_in_block API call.
In comment_options, percent_steem_dollars was changed to percent_hbd
5 of 6 checklist items completed
· Edited
Designs
Child items ...
Show closed items
Linked items 0
Link issues together to show that they're related.
Learn more.
Any API call that returned a response that included the word steem or sbd has been changed to substitute the words hive or hbd respectively. Please do a global search and replace for any such code in your library or app.
Here is a list of known API changes of this type (just a starting point, please add to this list as you find them):
The fields reward_steem and reward_sbd have been renamed to reward_hive and reward_hbd in get_ops_in_block API call.
Dan Notesteinchanged title from Identify a list of all "libraries" like steem-js, dsteem, etc that are currently used that will need updates for symbol changes to Update hive libraries for rebranding changes that affect API method responses
changed title from Identify a list of all "libraries" like steem-js, dsteem, etc that are currently used that will need updates for symbol changes to Update hive libraries for rebranding changes that affect API method responses
The best would be to accept both old steem/sbd and new hive/hbd names in API return values, at least until hardfork, so during transition period you can talk to both old and new nodes. Understandably that can be too much work in many cases, so replacing all steem/sbd with hive/hbd is next best approach. Most likely it won't be as easy as mere replace-in-files though.
One particular case to be aware of if you are dealing with historical operations: witness_set_properties_operation.props is a flat map that uses string as key. That strings can contain old sbd_interest_rate/sbd_exchange_rate as well as new hbd_interest_rate/hbd_exchange_rate and both need to be handled properly. Consensus code considers both forms equaly valid (since we can't do anything about old operations, we have to handle old forms engraved in past blocks, while we keep accepting old form in new blocks too, along with new form, because why not, plus it helps smooth out transition). I don't know about custom JSON operations or if any code needs to decompose and interpret them, but I imagine they might contain similar cases.
Symbol names are corrected? I mean after hf, will nodes accept HIVE/HBD? Because right now nodes only accept STEEM and SBD as a valid symbol name. It would be good to accept both old STEEM/SBD and HIVE/HBD symbols.
After the hardfork, only HIVE/HBD will be accepted by the node software (and reported in fields that include the names of these symbols).
Andrzej is saying that "apps and libraries" need to support both, when handling responses that contain hive or hbd in the the key names of the json responses, because of the HF transition period.
Actually, I was looking over hived code today, and it looks like it will handle the old names for parameters as well as new ones on API calls. Nonetheless, switching is highly recommended.
But more importantly, the API responses will only return the new field names, so any code that processes those fields must be changed.
Note that one change needed to libraries is to serialize inputs of HIVE/HBD to the same binary value as STEEM/SBD were previously serialized to. For example, when generating a claim_reward_operation.