Start Building on SUAVE
Welcome to our first internal SUAVE hackathon. Let's start building better mechanisms.
There are two broad categories of work you can get involved with: creating precompiles and/or designing and implementing contracts for specific SUAPPs.
It's likely that you will want to start by runnning SUAVE locally for both of these.
Alternatively, you can transact or deploy a contract directly on the Rigil Testnet.
If you're not sure what to hack on, please read through our ideas about what to build to get some inspiration.
Important Terms​
Here are all the key terms you'll find in these docs. The names and descriptions will evolve as the software does.
Term | Description |
---|---|
SUAPP | SUAVE application. For now, a smart contract that uses SUAVE precompiles. Frontend optional. |
Rigil Testnet | The current test network. Naming convention follows the stars in the Alpha Centauri system. |
Kettle | The main logical actor in the SUAVE protocol. We don't call it a "node" because it's at least two nodes (and some other services) in a trenchcoat. |
MEVM | Modified EVM, where the modifications specifically enable credible offchain computation. |
Precompile | A convenient way to enable direct execution of predefined functions in the EVM, meant to enable more interesting SUAPPs. |
Confidential Compute Request (CCR) | The initial object users send to a Kettle, via an RPC. Made up of an ordinary transaction + confidential inputs + pubkey of Kettle(s) that can decrypt it. |
SUAVE transaction | The transaction object that is broadcast on the SUAVE Chain. Contains the result of a CCR in its calldata + the signature of the Kettle(s) which computed said result. |
SUAVE Chain | A fork of Ethereum, currently running Clique PoA consensus for rapid iteration. Main purpose is to reach (and maintain) consensus about smart contract code. |
Confidential Data Store | A secure and privacy-focused key-value storage system. |
Bid | An artefact from early development, which is now just a Data Identifier used when operating on confidential data. For instance, a SUAVE transaction can emit logs on chain which reference the bidId from a CCR without revealing the confidential inputs to that CCR. |