Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Convert go-openrpc to a rust ffi client #19

Merged
merged 8 commits into from
Sep 21, 2023
Merged

Conversation

dndll
Copy link
Collaborator

@dndll dndll commented Sep 12, 2023

Description

Introduces a rust native client and expose a C-FFI interface to op-node in go.

Updates namespaces to utilise [u8 ++ u32] rather than an arbitrary string.

Creates a naive merkle root for shard blobs.

Exposes a seed via environment variable rather than mount files for the NEAR signers.

Introduces .env files for optimism with a single source of truth rather than a bunch of random env setters.

Deprecates dndll/openrpc

TODO:

  • use the client in go
  • create a ticket to expose integration tests for FFI, right now they hit the live encironment DA Client/FFI Mocked integration tests #21
  • make sure memory is freed
  • add a minimal commitment root (halfway Decide on blob root approach #13)
  • Create ticket for how to deprecate openrpc
  • Create a ticket for reusing the FFI aspect of DA so it isn't copied across txmgr, da_config & calldata_source

closes #8
closes #20
closes #10
closes #15
closes #14
closes #11
closes #12

first pass implements #13

relates to #1

@dndll dndll force-pushed the feature/openrpc-rust-client branch 11 times, most recently from 7c42025 to 59a87b7 Compare September 15, 2023 15:50
@dndll dndll force-pushed the feature/openrpc-rust-client branch from 01f88a0 to 04b5d08 Compare September 21, 2023 09:31
@dndll dndll marked this pull request as ready for review September 21, 2023 09:33
@dndll dndll force-pushed the feature/openrpc-rust-client branch 2 times, most recently from de591d9 to 23a2420 Compare September 21, 2023 10:03
dndll added 8 commits September 21, 2023 11:10
chore: scripts for deploying and building

feat: use shared primitives for client & contract

feat: ffi client reads
chore: set toolchain to stable
build: dockerfile for op-rpc
feat: migrate ffi to a sys crate
fix: make sure errors aren't causing segfaults
chore: update submodule
fix: blobs are optional from the contract
fix: import math libs in go
This commit removes all blobs from state and makes use of protocol
input data semantics.
This approach lowers storage costs by ~100x.
@dndll dndll force-pushed the feature/openrpc-rust-client branch from 23a2420 to c427ebf Compare September 21, 2023 10:10
@dndll dndll merged commit 25bf56e into main Sep 21, 2023
@dndll dndll deleted the feature/openrpc-rust-client branch September 21, 2023 10:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant