Adding modules 1 and 2 base templates
This commit is contained in:
parent
fa524bef13
commit
ed4ed8c95e
22
README.md
22
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).
|
- [ ] 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)
|
||||||
|
|
|
@ -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
|
|
@ -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/
|
Loading…
Reference in New Issue