Dessay is a blockchain-based content sharing and voting platform built on Ethereum. It includes two smart contracts: DessayToken and Dessay. Users can enter their writings, vote on other writings, add comments, and stake Dessay tokens. The platform aims to provide a decentralized and incentivized ecosystem for content creators and readers.
DessayToken is an ERC-20 compliant token contract representing the native currency of the Dessay platform. It allows users to create, transfer, and stake Dessay tokens. The contract implements features such as staking, unstaking, and calculating user power based on staked token amounts.
Dessay is the main smart contract that powers the content sharing and voting functionalities of the Dessay platform. It enables users to publish their writings, vote on writings from others, add comments, and interact with the community. The contract includes various features and mappings to facilitate content organization, user interactions, and badge distribution.
To run the Dessay project locally, follow these steps:
-
Clone the project repository:
git clone https://github.com/korayakpinar/dessay.git
-
Navigate to the project directory:
cd dessay
-
Install the required packages:
npm install
To run the tests for Dessay contracts, use the following command in the project directory: npx hardhat test
This will execute the test script, which verifies the functionalities of the DessayToken and Dessay contracts.
To deploy the DessayToken and Dessay contracts to an Ethereum network, follow these steps:
-
Update the deployment script
scripts/deploy.js
with the desired network configuration if needed. -
Run the deployment script using the following command:
npx hardhat run scripts/deploy.js --network <network-name>
Replace <network-name>
with the name of your target Ethereum network (e.g., rinkeby
or mainnet
).
This command will deploy the DessayToken and Dessay contracts to the specified network and provide the contract addresses upon successful deployment.
For detailed information about the project, including contract explanations and usage examples, refer to the project's GitHub repository.
This project is licensed under the MIT License. See the LICENSE file for more details.