Skip to content

Amino-compatible encoding/json wrapper #4828

@tac0turtle

Description

@tac0turtle

This is meant as a tracking issue for some places where json encoding will change and effect the developer.

Summary

Currently amino is used for JSON encoding. With the move to protobuf this is not possible anymore. encoding/json & gogo/protobuf/jsonpb encode things differently. We will have to rely on jsonpb for JSON encoding in Tendermint. The json will be encoded following the protobuf json spec https://developers.google.com/protocol-buffers/docs/proto3#json

Tracking for things that will need to change

  • wal2json & json2wal
  • RPC
  • privval (.json) files
    Options:
    • Write a script to migrate keys to oneof encoding. This will take in the privval_key.sjon and replace it with the encoding which is consistent with oneof
    • Keep backward compatibility
  • Genesis
    • no need for backwards compatability here as chains will have to restart for this change. Although a script to aid in genesis migration may make upgrading a bit easier

For Admin Use

  • Not duplicate issue
  • Appropriate labels applied
  • Appropriate contributors tagged
  • Contributor assigned/self-assigned

Metadata

Metadata

Assignees

Labels

T:encodingType: Amino, ProtoBuf

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions