📄️ Set up SDK
WeaveDB has 4 types of SDKs.
📄️ Light Client
With the light client, browser users don't have to hold a full cache from the Warp SDK, which makes read queries extremely fast.
📄️ Query APIs
WeaveDB queries cover most of the things Firestore can do with syntactic sugar inspired by Firestore Sweet.
📄️ Data Schemas
It's essential to set a presice data schema and access controls to each collection as otherwise WeaveDB is permissionless and anyone can put arbitrary data.
📄️ Access Control
Single-field indexes are automatically generated, but multi-field compound indexes need to be added by the DB admin before collections can be accessed with complex queries.
With SCP (Storage-based Consensus Paradigm) and its nature of determinictic calculation, defining and executing scheduled tasks can be built-in to smart contracts.
When writing to the DB, Ethereum-based addresses are authenticated with EIP-712 signatures. However, this requires dapp users to sign with Metamask for every action, and it's a very poor UX. To solve this, WeaveDB allows internal address linking, so dapp users can use disposal addresses for auto-signing.
Only owners can execute administrative functions including setSchema, setRules, addIndex, removeIndex, addCron, removeCron, setAlgorithms, evolve, setCanEvolve, addOwner, and removeOwner.
Relayers can execute queries on behalf of you using your eip-712 signatures.
📄️ Evolve Contract
Database contracts are upgradable with evolve function, if set so.
WeaveDB is in heavy development and rapidly evolving. The contract version can be obtained via getVersion and you can upgrade the contract if you need features added to a new version.