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

28 lines
1.1 KiB
Markdown
Raw 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
Contracts <-- Web-based blockchain client library\n(MetaMask / Casper Wallet)--> WebApp
Contracts <-- Web-based blockchain client library\n(MetaMask / Casper Wallet)--> 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
```
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:01:02 -05:00
## Other
- `getPostAuthors`
- `propagateReputation`