The Vickrey Auction Secure Bid App is a cutting-edge application designed to ensure the highest level of security and privacy for bidders participating in Vickrey auctions. Utilizing the advanced capabilities of the Nada program and the innovative technology of Nillion, the app guarantees that all bids remain confidential while accurately determining the highest bidder.
Leveraging the Nada program, the app ensures that all bid submissions are securely encrypted and protected from unauthorized access. This maintains the confidentiality of each bidder's information throughout the auction process.
Powered by Nillion's groundbreaking technology, the app performs secure computations to accurately identify the highest bid without compromising the privacy of individual bidders.
The app transparently calculates and reveals the winning bid in compliance with Vickrey auction principles, ensuring fair and trustworthy outcomes.
Designed with the user in mind, the app offers an intuitive and seamless bidding experience, making it accessible and easy to use for participants of all levels.
Before you begin, you need to install the following tools:
-
nilup
, an installer and version manager for the Nillion SDK tools. Install nilup:For the security-conscious, please download the
install.sh
script, so that you can inspect how it works, before piping it tobash
.curl https://nilup.nilogy.xyz/install.sh | bash
- Confirm
nilup
installationnilup -V
- Confirm
-
Nillion SDK tools Use
nilup
to install these:nilup install latest nilup use latest nilup init
- Confirm global Nillion tool installation
nillion -V
- Confirm global Nillion tool installation
-
- Check version with
node -v
- Check version with
-
python3 version 3.11 or higher with a working pip installed
- Confirm that you have python3 (version >=3.11) and pip installed:
python3 --version python3 -m pip --version
- Confirm that you have python3 (version >=3.11) and pip installed:
-
- Check version with
yarn -v
- Check version with
To use this app, you need to have the MetaMask Flask browser extension installed and to store your Nillion user key in MetaMask Snaps
- Install the MetaMask Flask browser extension that will let you work with experimental snaps.
- Create a new test wallet in MetaMask Flask
- Temporarily disable any other wallet browser extensions (Classic MetaMask, Rainbow Wallet, etc.) while using MetaMask Flask
- Visit the Nillion Key Management UI to generate a user key and store it in MetaMask Snaps - this saves your user key within MetaMask so it can be used by other Nillion web apps
- This quickstart will ask you to "Connect to Snap" to use your Nillion user key
To get started, follow the steps below:
git clone https://github.com/daningyn/tinybid-nillion-blind-app.git
cd tinybid-nillion-blind-app
yarn install
This bootstraps Nillion devnet, a local network of nodes and adds cluster info to your NextJS app .env file and blockchain info to your Hardhat .env file
yarn nillion-devnet
yarn chain
This command starts a local Ethereum network using Hardhat. The network runs on your local machine and can be used for testing and development. You can customize the network configuration in hardhat.config.ts
.
yarn deploy
This command deploys a test smart contract to the local network. The contract is located in packages/hardhat/contracts
and can be modified to suit your needs. The yarn deploy
command uses the deploy script located in packages/hardhat/deploy
to deploy the contract to the network. You can also customize the deploy script.
cd packages/nextjs
Install nextjs app
pnpm install
Run app
pnpm dev
Visit your app on: http://localhost:3000
.