diff --git a/README.md b/README.md index c8eb38f..a24591f 100644 --- a/README.md +++ b/README.md @@ -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). -## General Module Description +## Module Description ### Module 0 @@ -49,9 +49,23 @@ management for the assets. ### 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 ![dig1](./assets/diagram1.svg) diff --git a/module1.md b/module1.md new file mode 100644 index 0000000..052eb47 --- /dev/null +++ b/module1.md @@ -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 diff --git a/module2.md b/module2.md new file mode 100644 index 0000000..dcc06c6 --- /dev/null +++ b/module2.md @@ -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/