React frontend that communicates with a Node.js server responsible for transferring balances between addresses by creating digital signatures with the appropriate private keys and verifying them on the backend.
It uses the Ethereum Cryptography library, specifically the elliptic curve operations on the curve secp256k1.
Client (React, Vite, Tailwind CSS)
- Open the
/client
folder from terminal. - Run
npm install
to install all the dependencies. - Run
npm run dev
to start the application . - Visit the application at http://127.0.0.1:5173/.
Server (Express)
-
Open the
/server
folder from terminal. -
Run
npm install
to install all the dependencies. -
Get private key/address pairs by running
npm run generate
and copy them intoaccounts.config.json
using the JSON structure below:{ "address_1": { "label": "Account 1", "balance": 10, "privateKey": "privateKey_1" }, "address_2": { "label": "Account 2", "balance": 20, "privateKey": "privateKey_2" } }
-
Run
npm run dev
to start the server.