This is an Escrow Dapp built with Hardhat.
There are three top-level folders:
/app
- contains the front-end application/contracts
- contains the solidity contract/tests
- contains tests for the solidity contract
Install dependencies in the top-level directory with npm install
.
After you have installed hardhat locally, you can use commands to test and compile the contracts, among other things. To learn more about these commands run npx hardhat help
.
Compile the contracts using npx hardhat compile
. The artifacts will be placed in the /app
folder, which will make it available to the front-end. This path configuration can be found in the hardhat.config.js
file.
cd
into the /app
directory and run npm install
To run the front-end application run npm start
from the /app
directory. Open http://localhost:3000 to view it in your browser.
This is an Escrow contract that has money deposited in it, and can only be sent to the beneficary through a third-signer called the arbiter. The Arbiter is the only person with access to deposting the money. I added two extra functions, one function is to change the arbiter, which can only be called by the arbiter and a function to withdraw funds from the escrow, which can only be called by the original depositor. Launched the contract on the Goerli network.