106 lines
2.7 KiB
Markdown
106 lines
2.7 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
|
|
|
|
- [ ] Lume R&D
|
|
- [ ] Lit R&D
|
|
- [ ] HELIA R&D
|
|
- [ ] OrbitDB R&D
|
|
- [ ] WASM R&D
|
|
- [ ] Decentralizable Assets Bundler
|
|
- [ ] Ethers R&D
|
|
- [ ] Dapp Indexer D&T
|
|
- [ ] Final DAPP Framework
|
|
|
|
> Where:
|
|
> R: Research
|
|
> D: Develop
|
|
> T: Test
|
|
|
|
## Development Reports and Repositories
|
|
|
|
### Lume R&D
|
|
|
|
- [ ] Deno + lume
|
|
|
|
### Lit R&D
|
|
|
|
- [ ] Lit Compositor
|
|
|
|
### 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]
|
|
|
|
#### Libp2p
|
|
|
|
Helia now requires libp2p for handling the peers, and networking
|
|
thus it is important to have some references and tests.
|
|
|
|
### OrbitDB R&D
|
|
|
|
### WASM
|
|
|
|
- [ ] Ethereum Markets tracker wasm
|
|
|
|
|
|
### 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
|