📄️ Set up SDK
WeaveDB has 4 types of SDKs.
📄️ Authentication
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.
📄️ Ownership
Only owners can execute administrative functions including setSchema, setRules, addIndex, removeIndex, addCron, removeCron, setAlgorithms, evolve, setCanEvolve, addOwner, and removeOwner.
📄️ 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
Rules
📄️ Indexes
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.
📄️ Crons
With SCP (Storage-based Consensus Paradigm) and its nature of determinictic calculation, defining and executing scheduled tasks can be built-in to smart contracts.
📄️ Relayers
Relayers can execute queries on behalf of you using your eip-712 signatures.
📄️ Triggers
You can have one query trigger another query.
📄️ Evolve Contract
Database contracts are upgradable with evolve function, if set so.
📄️ Version
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.