Demo Link: https://escrow.0xtender.com/
For Gobi testnet use:
git checkout develop-chain-gobi
And this .env:
DATABASE_URL=mysql://root:password@localhost:3306/escrow-gobi
MNEMONIC=<MNEMONIC>
RPC_1663_CHAIN="https://gobi-testnet.horizenlabs.io/ethv1"
NEXT_PUBLIC_CHAIN_ID=1663
Deployments Also checkout on chain contracts
The project uses a plugin system based escrow contract that allows high scalability with escrow protocol.
The base escrow contract accepts addresses that act as extensions on top on it so as to keep the interactions simple.
The contracts have been tested end-to-end.
The project utilizes something called 0xtender-heisenberg.
pnpm i @0xtender/heisenberg-cli
The project uses pnpm workspace so please install pnpm with npm i -g pnpm
There are shell scripts to speed up development.
Run: reset.sh
followed by init.sh
Check Developer Guideline for complete steps.
Then open two separate terminals and run:
pnpm run start:worker
pnpm run dev
The highly scalable escrow contract is designed to facilitate secure and efficient exchanges of ERC20 and ERC721 tokens between users on the Ethereum blockchain. The contract provides a trusted intermediary service, ensuring that transactions are executed reliably and transparently.
Key features of the escrow contract include:
Flexibility: The contract supports the exchange of both ERC20 and ERC721 tokens, allowing users to trade fungible (ERC20) and non-fungible (ERC721) assets with ease. This enables a wide range of transactions, from simple token transfers to complex asset swaps.
Scalability: The contract is optimized for scalability, allowing for a high volume of concurrent transactions. This is achieved through efficient transaction management and gas optimization techniques, ensuring that the contract can handle a large number of users and transactions without performance degradation.
Transparency: The contract promotes transparency by providing a public audit trail of all transactions. Users can easily verify the transaction history and track the progress of their exchanges. This fosters trust among participants and mitigates the risk of fraud or disputes.
Customizability: The contract offers customization options to accommodate various transaction requirements. Users can specify their own terms and conditions, including the duration of the escrow, dispute resolution mechanisms, or any additional steps necessary for completing the exchange. This allows for flexibility and adaptability to different trading scenarios.
In summary, the highly scalable escrow contract provides a reliable and secure solution for exchanging ERC20 and ERC721 tokens on the Ethereum blockchain. Its features, including flexibility, scalability, security, transparency, automated execution, and customizability, make it suitable for a wide range of token-based transactions while ensuring the integrity and safety of participants' assets.
Steps to run
pnpm i
Update the env:
cp .env.example .env
Initialize:
./init.sh
Start worker:
pnpm run start:worker
Start dev
pnpm run dev
You can reset your local deployments with (destructive action):
./reset.sh
Loosely based on: