Building blocks for private voting and a decentralized zero-knowledge (hidden price) exchange.
(Try out our command-line demo)[DEMO.md] using our public server.
We'll upload a screencast showing the step-by-step demo here soon.
To start developing on your local computer:
git clone email@example.com:invisible-college/demo-aztec.git cd demo-aztec yarn yarn start:rest yarn start
http://localhost:3000 and you'll see
some seagreen boxes of all
ZkAssetMintable's that you've deployed
on the local testnet.
To see multi-security issuance and minting in action using your local development environment, perform the following steps
ganache-cli -p 8545 -h 0.0.0.0 -i 2222
NODE_ENV=DEVELOPMENT ./node_modules/.bin/demo-depart NODE_ENV=DEVELOPMENT ./node_modules/.bin/demo-depart --departFileName departZK.js AAA
You can mint to the hardcoded
TEST_ADDRESS_1 in the
NODE_ENV=DEVELOPMENT ./scripts/mint.js AAA 22
You can also mint to a specific address and public key using the following command-line arguments. The public key should be in AZTEC form, which an extra byte in front to indicate it is a compressed coordinate.
node src/mint.js \ --tradeSymbol AAA \ --minteeAddress 0x1051Cd3F5D5f3E097713265732A10677C043CcEA \ --minteePublicKey 0x04b56dcc4375e855adba8f37a2a9cce64809b3d24d1981daa7c9e3f98316676b06b27a85b889559c09ad442f2636491ceb6930589cee609258df8da29e852a1312 \ --minteeAmount 22
You can repeat the above with NODE_ENV equal to TEST, RINKEBY, or MAINNET
At the end of the minting process, you'll receive a note hash which identifies the newly minted note. You'll need that in the next step.
You can do a confidential transfer from the hardcoded
to the hardcoded
TEST_ADDRESS_2 using the following command,
replacing the long hex number and the 22 with the note has you received
at the end of the minting process above, and the amount you want to transfer
in encrypted tokens.
NODE_ENV=DEVELOPMENT ./scripts/cx.js AAA 0xb22df01622b30138138b4b96589294301eea6484beb63018c42105a4fcd45349 22
By default, we've committed a test Ethereum account in the file
You can also use your own Ethereum account (address and password) created with
Democracy tools (to be documented soon).
Simply substitute the following lines in your