dgf-prototype/specification/docs/implementation-solidity.md

1.2 KiB

flowchart TD
    Homeserver[Matrix\nHomeserver]
    Contracts <-- Node.js blockchain\nclient library (ethers) --> API
    Contracts <-- Web-based blockchain client library\n(MetaMask)--> WebApp
    Contracts <-- Web-based blockchain client library\n(MetaMask)--> Widget
    WebApp <-- HTTPS --> API
    Widget <-- HTTPS --> API
    Widget <-- Element-web Widget API\n(npm matrix-widget-api) --> Homeserver
    API <-- Matrix Client-Server Protocol\n(npm matrix-bot-sdk) --> Homeserver

Contracts

DAO

We introduce a DAO contract which estabishs the public interface of the DAO core, and provides a context within which the core contracts may securely call each other.

Each of the core contracts must first be deployed. Then the DAO contract is deployed, and for each core contract, makes the first and only call to registerDAO to set the address of the DAO contract. All calls are then mediated by the DAO contract's public interface. This enables us to enforce the security of the core contracts.

Bench

delegatedStakeOnValidationPool

Forum

getPostAuthors

propagateReputation

Availability

DAO.stakeAvailability

acceptAvailability

randomWeightedSelection

Other