Adding modules 1 and 2 base templates

This commit is contained in:
itzelot01 2024-01-10 23:20:31 +00:00
parent fa524bef13
commit ed4ed8c95e
3 changed files with 112 additions and 4 deletions

View File

@ -37,7 +37,7 @@ Goal is to develop all the architecture require for the [DECA Protocol](https://
- [ ] Zero Knowledge Proof Carbon Offset (Privacy and Fungibility). - [ ] Zero Knowledge Proof Carbon Offset (Privacy and Fungibility).
## General Module Description ## Module Description
### Module 0 ### Module 0
@ -49,9 +49,23 @@ management for the assets.
### Module 1 ### Module 1
. This module will ensure that the website and its assets runs in a HELIA instance.
. This will add seeds and thus network speed to the content distribution. All the
. assets should be integrated in the project so that it does not depend on centralized
systems. This module is important to ensure frontend decentralization.
[Module 1 Specification](./module1.md)
### Module 2
This module will include its own ethers wasm implementation, so that it connects
to the Ethereum blockchain and perform some testing operations. The Goal is to
ensure the ethers connector can be decentralized and included in the project code.
This module is important to ensure comunication with the smart contracts in a
decentralized way.
[Module 2 Specification](./module2.md)
### Module 7 ### Module 7
![dig1](./assets/diagram1.svg) ![dig1](./assets/diagram1.svg)

56
module1.md Normal file
View File

@ -0,0 +1,56 @@
# Module 1 Specification
## Goal
This module will ensure that the website and its assets runs in a HELIA instance.
This will add seeds and thus network speed to the content distribution. All the
assets should be integrated in the project so that it does not depend on centralized
systems. This module is important to ensure frontend decentralization.
## Dependencies
- [ ] Module 0
## ToDo
- [ ] Research HELIA
- [ ] How to solve the website hashing paradigm
- [ ] Detect and Report issue (Update this specification)
- [ ] Research and test possible solutions.
- [ ] Implement solution to achieve the goal.
## Report
### HELIA Specification
* [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]
### Hashing paradigm
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
paradigm 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
1. Using SmartContract: 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.
* Pros: ToDo
* Cons: ToDo
2.
## 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

38
module2.md Normal file
View File

@ -0,0 +1,38 @@
# Module 2 Specification
## Goal
This module will include its own ethers wasm implementation, so that it connects
to the Ethereum blockchain and perform some testing operations. The Goal is to
ensure the ethers connector can be decentralized and included in the project code.
This module is important to ensure comunication with the smart contracts in a
decentralized way.
## Dependencies
- [ ] Module 0
- [ ] Module 1
## ToDo
- [ ] Basic understading YEW
- [ ] Basic understading Ethers-rs(similar sintax to ethers-web)
- [ ] Fork main chain
- [ ] Create a base project to interact with DECA Smart Contract
- [ ] Create some general access to functions for th DECA Smart Contract
## Report
### ethers-web Specification
* [Ethers-web library](https://github.com/quay-rs/ethers-web/tree/main)[^1]
* [Ethers-rs docs](https://docs.rs/ethers/latest/ethers/index.html)[^2]
## Notes and further developments.
> Note1: Ethers-rs will be depercated in favor of [alloy](https://github.com/alloy-rs/)[^3] (yet alloy is not
production ready).
## References
[^1]: https://github.com/quay-rs/ethers-web/tree/main
[^2]: https://docs.rs/ethers/latest/ethers/index.html
[^3]: https://github.com/alloy-rs/