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

44 lines
1.2 KiB
Markdown
Raw Permalink Normal View History

2024-05-19 17:05:13 -05:00
```mermaid
flowchart TD
Homeserver[Matrix\nHomeserver]
Contracts <-- Node.js blockchain\nclient library (ethers) --> API
2024-06-05 20:32:46 -05:00
Contracts <-- Web-based blockchain client library\n(MetaMask)--> WebApp
Contracts <-- Web-based blockchain client library\n(MetaMask)--> Widget
2024-05-19 17:05:13 -05:00
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
```
2024-05-21 16:33:05 -05:00
## Contracts
2024-06-03 09:02:55 -05:00
### 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.
2024-05-21 16:33:05 -05:00
### Bench
2024-06-04 10:51:31 -05:00
`delegatedStakeOnValidationPool`
### Forum
`getPostAuthors`
`propagateReputation`
## Availability
`DAO.stakeAvailability`
`acceptAvailability`
`randomWeightedSelection`
2024-06-04 10:01:02 -05:00
## Other