Open ruseinov opened 4 months ago
@hanabi1224 @ruseinov Could you please update the issue to reflect the current plan?
@hanabi1224 Thanks a bunch for updating this! Please can you breakout the go-f3 and the rust-f3 into their own issues/epics 🙏
Am I correct in understanding that integrating the sidecar is blocked until we get more info from the go-f3 team?
@hanabi1224 Thanks a bunch for updating this! Please can you breakout the go-f3 and the rust-f3 into their own issues/epics 🙏
Am I correct in understanding that integrating the sidecar is blocked until we get more info from the go-f3 team?
We have some new info in that regard. It seems like there's not going to be much action in terms of participation, because that depends on mining capabilities. Those in our case depend on Curio. So we're starting with following (getting all the certs and verifying them). What this means for Forest is:
It turns out that in order to follow we don't actually need much, just the cert exchange, which is pretty self-contained. So we'll be focusing on that and the sidecar in parallel. To be continued.
@hanabi1224 Thanks a bunch for updating this! Please can you breakout the go-f3 and the rust-f3 into their own issues/epics 🙏
Am I correct in understanding that integrating the sidecar is blocked until we get more info from the go-f3 team?
@ansermino Done. #4644
As @ruseinov mentioned, we're now clear about what are missing in the current go-f3 sidecar and I will look into closing the gap in a quick and dirty way to get a working sidecar demo
@ruseinov What is the current state of this? Doesn't seem like anything has notably progressed in the last month+?
We've merged the second part of certs
implementation a couple of weeks ago.
The crypto package issue has been revisited to include fresh changes in go-f3, which have been introduced recently and involve a custom GNARK backend.
I've been recently busy with other pressing tasks, but getting back to this exactly today to flesh out cert-exchange into more smaller issues and tackle those.
By the looks of it we'll need to tackle certstore
interface and MemoryDB implementation first to unblock certexchange
implementation.
There's also a question of go-f3 being unstable, so I'm foreseeing some changes/bug-fixes in go-f3 in the near future which we will have to reflect in our codebase as well.
Issue summary
This tracks our current progress on f3 integration.
Considerations for wrapping/re-write
Potential complications
Call Go code from Rust
Re-write
Roadmap
To minimize the timeline risk, we've decided to
rust-f3
with proper testinggo-f3
torust-f3
go-f3 integration with sidecar/FFI approach: #4644
rust-f3 implementation work items
Fine-grained to-do for rust-f3
Implementation diagram, helpful to see what can be parallelized.
Other information and links