Skip to content

Carbon Offset Coding Project for the module "Introduction to Blockchain Technology"

License

Notifications You must be signed in to change notification settings

m-principato/Smart-Contract-Coding

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Picture1

Background Information

ECO.DAO is a Coding Project for the module "Introduction to Blockchain Technology".

Please, see the whitepaper and the pitch deck for more information.

Usage

The contract is ready to be deployed, however, it is very lengthy (see Room for imporevements).

Deploy with RemixIDE

Straightforward deployment via import of the ECO.DAO sol contract, compiling it, and deploying it.

Deploy with Truffle

Requires Node.js and NPM

  • Initialize: run $ npm install -g truffle and then $ truffle init
  • Compile: run $ npm install @openzeppelin/contracts and then $ truffle compile
  • Deploy: run $ truffle develop and then truffle(develop)> deploy

Security

We mainly follow the established ERC-1155 token standard. We do not override functionalities besides overrides that are required by Solidity for improved interoperability (e.g., interface improvements).

For security reasons, we further make use of the code from the OpenZeppelin repository, which contains tested and constantly updated smart contract standards. Additionally, we make use of OpenZeppelin Libraries for increased security when adding custom functionalities which require computations and counters.

Specifically, we make use of

Imported Contracts

Imported Libraries

Room for improvements

The ECO.DAO contract is currently very long, almost exceeding the byte size limit of 24576 bytes that was proposed in EIP-170 and introduced by the Spurious Dragon Ethereum Update.

Removal of error strings enabled us to comply with the byte size limit. However, further steps need to be taken to reduce the contract size, for example by following common guidlines for optimization.

About

Carbon Offset Coding Project for the module "Introduction to Blockchain Technology"

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published