Note: Experimental, not ready for production
Run verifiable JavaScript smart contracts in the edge using QuickJS/Wasm
This project is a prototype of how we can create smart contracts and execute them in userspace, that is, in the edge (Browser, Mobile, etc) and maintain verifiable and privacy features supported by Swarm.
- JSON-RPC at the edge: Where Web3 apps or extensions send transactions to the edge smart contract server.
- Transaction Executor:
EIP-712
aware transactions are default and API supportsEIP-5559 Cross Chain Write Deferral Protocol
andEIP-3668 CCIP Read: Secure offchain data retrieval
- FDP Personal Smart Contract: Compiled to QuickJS/WASM, it executes and stores states in a Swarm Sequential Feed, as BMT Chunks with data serialization using BeeSon.
- Verifiable: BMT verifiable inclusions proofs
- Privacy: FDP provides encrypted data at rest
- Data unions
- L1 and L2 data integrations
- Oracles
- Data Privacy
import { Contract, view, call } from '../Contract'
@Contract()
export class Counter {
public count = 0
@call() increase() {
this.count += 1
return this.count
}
@call() decrease() {
this.count -= 1
return this.count
}
@view() getCount() {
return this.count
}
}
- Near JavaScript Smart contracts SDK