You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This issue tracks the work in progress on the newer Massa JsonRPC API.
Refactor the API:
1 - Specify the business needs with Core, the Innovation team, direct users (eg. Dusa) and the community Builders. Try to split endpoints as much as possible. Use snake_case everywhere (#2823). Decide if we fuse the private/public APIs and allow finer access control through other means.
GetSlots (need by Inno: slot ID, ASC execution and its gas consumption, deferred credits and its gas consumption, and block object and its gas consumption, since they have different gas limits) Implement GetSlots method in gRPC API #3593
Existing WebSockets should be migrated to equivalent gRPC streams.
There is a discussion about gRPC support.
This will pave the way towards #2903 in particular, and also help @BatiGencho with execution event streaming for web3.
As we are going to accelerate the development of Massa API V2, we are gathering all enhancements proposals in this issue.
Based on clients feedbacks, I made the list of methods/subscriptions/features above, we should select, drop and prioritise what's really add a value to Massa.
I'm waiting for feedbacks, feel free to update and/or comment issue.
This issue tracks the work in progress on the newer Massa JsonRPC API.
Refactor the API:
1 - Specify the business needs with Core, the Innovation team, direct users (eg. Dusa) and the community Builders. Try to split endpoints as much as possible. Use snake_case everywhere (#2823). Decide if we fuse the private/public APIs and allow finer access control through other means.
2 - Write a new API that uses https://github.com/hyperium/tonic crate and will support the following features:
.proto
files Build a CI/CD around.proto
files #3622. See https://github.com/massalabs/massa-protoprotoc
inbuild.rs
. See https://github.com/datafuselabs/databend/blob/main/src/meta/protos/build.rsmassa-proto-rs
in gRPC API #4050serialized_size
field toSecureShares
in APIs Addserialized_size
field toSecureShares
in APIs #40193 - Let's also add the following endpoints:
send_endorsements
method in gRPC API #3423send_endorsements
method in gRPC API #3642send_blocks
method in gRPC API #3420get_selector_draws
method in gRPC API #3421get_next_block_best_parents
method in gRPC API #3419get_blocks_by_slots
method in gRPC API #3425GetLargestWallets
method in gRPC API #3427getLargestStakers
method in gRPC API #3485get_transactions_throughput
method/subscription in gRPC API #3426GetBalances
method in gRPC API #3813GetSlots
method in gRPC API #3593GetBlocks
method in gRPC API #3839GetOperations
method in gRPC API #3835get_datastore_entries
in gRPC API #3621GetScExecutionEvents
in gRPC API #38674 - As well as streaming methods for:
NewEndorsements
method in gRPC API #3833NewBlockCliqueChanges
method in gRPC API #3857NewSlotExecutionOutputs
method in gRPC API #3810get_transactions_throughput
method/subscription in gRPC API #3426NewScExecutionEvents
method in gRPC API #3812Existing WebSockets should be migrated to equivalent gRPC streams.
There is a discussion about gRPC support.
This will pave the way towards #2903 in particular, and also help @BatiGencho with execution event streaming for web3.
previously #2799 #3076
The text was updated successfully, but these errors were encountered: