A p2p crypto-native advertising platform | ETHOnline 2022 entry
·
Report Bug
·
Request Feature
Table of Contents
Our goal is to create a crypto-native web traffic monetization platform, honoring the principles of web3: decentralization, self-custody & composability. Thus we develop a web3 dapp with as many components completely decentralized as possible, keeping rewards functionality on-chain to enable interoperability.
We are using the following tools:
This project consists in general of two components: The smart contracts and the frontend.
All the contracts used for this project can be found in the /contracts folder. We have made two contracts: The AdSpaceFactory and the AdSpace contract itself. The AdSpaces will be deployed only by the Factory on user request. An example of a deployed AdSpaceFactory can be found on Optimism Goerli at 0x2e9...8B4DB, the ABI for contract interaction at /front/src/variables/AdSpaceFactory.json.
When the factory gets deployed it creates three tables in Tableland: AdSpaces, Campaigns and Deals. This contract handles all requests for writing into the database. Nearly every write contract function on the factory results in a INSERT or UPDATE statement on the database. There are three main functions:
-
createAdSpace
Deploys an AdSpace contract and writes a new entry into the AdSpace Tableland table. The constructor args for the AdSpace need to be passed.
-
createCampaign
Writes a new entry into the Campaigns Tableland table.
-
createDeal
Writes a new entry into the Deals Tableland table and updates the corresponding AdSpace Tableland entry.
tba
To set up a local version of the frontend follow this steps.
- Clone the repo
git clone https://github.com/gfkacid/AdSpaces.git
- Change directory to frontend folder
cd AdSpaces/front
- Install NPM packages with NPM or Yarn
npm install
yarn
- Start the frontend
yarn start
Contributions are what make the open source community such an amazing place to learn, inspire, and create. But for the duration of the ETHOnline Hackathon '22 contributions outside of the team can not be accepted.
The members of the team for the Hackathon are:
Any contributions you make after 28/09/2022 are greatly appreciated. If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE.txt
for more information.
Project Link: https://github.com/gfkacid/AdSpaces
acid:
- [@twitter?]
mme:
- twitter: @mme022
- discord: mme#9065