solana-labs / solana

Web-Scale Blockchain for fast, secure, scalable, decentralized apps and marketplaces.
https://solanalabs.com
Apache License 2.0
13.02k stars 4.19k forks source link

Add support for loading dynamic contracts #1255

Closed jackcmay closed 5 years ago

jackcmay commented 6 years ago

This issue tracks the incremental steps needed to support loading dynamic contracts in Pillbox. Future enhancements are tracked by #1564

Design of dynamic contracts is being tracked by a couple of different issues (#943, #940, #1133)

Native refers to loading platform modules (e.g. MacOs uses x86-64 Mach-0 modules). These modules are loaded from files on the machine running Solana. Their intent is for proof of concept and potentially longer-term testing of dynamic contracts. Long-term dynamic contracts will use Berkeley Packet Filter (BPF) based modules which allows them to be run on a virtual machine and are more easily validated that they are constrained and deterministic.

jackcmay commented 5 years ago

1462

1514

1520

1521

1533

mvines commented 5 years ago

Mainline rBPF changes to the parent repository

@jackcmay this is done right? And if so, this issue is too?

jackcmay commented 5 years ago

All of the changes we need have been mainlined as of this week (no panics, customizable verifier, etc...). Waiting for the rbpf crate owner to push a new version so we can switch back to crates.io. He has given us confirmation that it will be done by the end of the month and he has been actively involved in code review, etc... so I don't have any reason to doubt it will be done. Waiting on an exact date he expects that to happen. Once pushed and we switch over to crates.io I plan to close this issue.

jackcmay commented 5 years ago

Woot, rbp 0.1.0 released

1605