forked from DECA/DAOTask
88 lines
2.5 KiB
Markdown
88 lines
2.5 KiB
Markdown
|
# Module 2 Specification
|
||
|
|
||
|
## Goal
|
||
|
|
||
|
This module is the presentation and aplication layers it comprise the whole
|
||
|
development toolset and technologies that DECA will use for its dapps
|
||
|
development (CI/CD, Helia, OrbitDB, Ethers, frameworks, and others) the goal is
|
||
|
to have a decentralizable base architecture.
|
||
|
|
||
|
## Dependencies
|
||
|
- [x] Module 1
|
||
|
|
||
|
## Subprojects
|
||
|
|
||
|
- [ ] HELIA R&D
|
||
|
- [ ] OrbitDB R&D
|
||
|
- [ ] Lit R&D
|
||
|
- [ ] WASM and YEW
|
||
|
- [ ] Decentralizable Assets Bundler
|
||
|
- [ ] Ethers R&D
|
||
|
- [ ] Dapp Indexer D&T
|
||
|
- [ ] Final DAPP Framework
|
||
|
|
||
|
## Development Reports
|
||
|
|
||
|
### HELIA R&D
|
||
|
|
||
|
The usage of Helia for the dapp will ensure that web clients become their own
|
||
|
dapp node instance which will share assets and thus network speed and further
|
||
|
decentralization.
|
||
|
|
||
|
* [Helia library](https://github.com/ipfs/helia)[^1]
|
||
|
* [Helia Examples](https://github.com/ipfs-examples/helia-examples/tree/main/examples/helia-webpack)[^2]
|
||
|
* [Helia Example by Phind](https://www.phind.com/search?cache=v6nzolbm7xl10xvhgfih6bvz)[^3]
|
||
|
|
||
|
|
||
|
2.
|
||
|
### OrbitDB R&D
|
||
|
|
||
|
### Lit R&D
|
||
|
|
||
|
### WASM and Yew
|
||
|
|
||
|
### Decentralizable Assets Bundler
|
||
|
|
||
|
### Ethers R&D
|
||
|
|
||
|
ethers connects to the Ethereum blockchain and perform some verification operations.
|
||
|
This module is important to ensure frontend/assets decentralization and
|
||
|
decentralized comunication with the smart contracts.
|
||
|
|
||
|
#### Ethers-js
|
||
|
|
||
|
#### Ethers-rs
|
||
|
|
||
|
#### Ethers-web
|
||
|
|
||
|
### Dapp Indexer D&T:
|
||
|
> CID Hashing paradox
|
||
|
|
||
|
To have a self decentralized website we need to add a hash to the code this hash
|
||
|
known as CID is generated based on all the assets hashed data, so it makes a
|
||
|
paradox problem to add the hash if its not know previously in the code, because
|
||
|
if we add it to the code of the site, the project hash will change.
|
||
|
|
||
|
#### Possible solutions
|
||
|
|
||
|
Using SmartContract assets indexer: Use a smart contract with an IPNS and a ENS
|
||
|
(Ethereum Name Service NFT) which points to an IPNS that will be updated by the
|
||
|
project developer. This gives us the flexibility to update, and security that
|
||
|
the blockchain offers. This can also be an alternative to avoid MITM and other
|
||
|
security issues.
|
||
|
|
||
|
All the assets should be integrated in the dapp indexer so that it provides
|
||
|
blockchain security to the dapp and the helia instance and it does not depends
|
||
|
on centralized systems.
|
||
|
|
||
|
### Final DAPP Framework
|
||
|
|
||
|
## Notes and further developments.
|
||
|
|
||
|
1. Make the ENS Updateable by a DAO and a smart wallet.
|
||
|
|
||
|
## References
|
||
|
|
||
|
[^1]: https://github.com/ipfs/helia
|
||
|
[^2]: https://github.com/ipfs-examples/helia-examples/tree/main/examples/helia-webpack
|