ProjectsChain is a plugin developed in order to be integrated with already existing e-shops of industrial designs and is able to grant, using the public blockchain and through smart contracts, the intellectual property of the projects, even without keeping them secret, and a fair royalty distribution between coauthors of the same final project. The straightforward and transparent mechanism developed also will prevent non-payment and miscommunication risks, representing common scenarios among freelancers.
There is an example of a .env file in the root of the project named .env.test. You must add your own values to the variables a similar .env file in the root of the project.
-
Setup a local Chainlink node by following the instructions in the Chainlink documentation.
-
Setup the Chainlink jobs on the node by following the instructions in the Chainlink documentation.
-
Configure a new job on the Chainlink using tht TOML file named
mint_job.toml
in theconfig/chainlink
folder. -
Update the environment variables in the
.env
file with:
- the
HOST_MACHINE_IP
of the machine running the Chainlink node - the
ORACLE
address of the smart contractOracle.sol
deployed on the blockchain - the value of
JOBID_1
with the Job ID of the job created in the previous step (without the dashes)
- Install and run Redis on your machine as a docker container by running the following command:
docker run -d --name redis-stack \
-p 6379:6379 \
-p 8001:8001 \
-v <path-to-local-folder-to-mount>:/data \
-v <path-to-local-project-folder>/blockchain-project/config/redis/redis.conf:/usr/local/etc/redis/redis.conf \
redis/redis-stack:6.2.6-v7 \
redis-server /usr/local/etc/redis/redis.conf
- Compile the smart contracts by running the following command:
npm run compile
- Test the smart contracts by running the following command:
npm run test
- Deploy the smart contracts on Ganache or Sepolia by running the following command:
npm run deploy
npm run deploy-sepolia
- Set SEPOLIA_ENABLED variable to true in the head of the file blockchain-project/server/routes/nfts.js
const SEPOLIA_ENABLED = true;
- Set SEPOLIA_ENABLED and CHAINLINK_ENABLE variable to true in the head of the file blockchain-project/frontend/stores/nfts.store.js
const CHAINLINK_ENABLED = true;
const SEPOLIA_ENABLED = true;
- Install the dependencies by running the following command:
npm install
- Start the server by running the following command:
npm run server
- Run the frontend by running the following command:
npm run frontend