Run a node at home, the easy way.
Set up an Ethereum node in no-time on every modern computer without any technical knowledge (coming soon).
For the latest information, visit https://nicenode.xyz
Install git, nodejs 18+, and npm.
Clone the repo and install dependencies:
git clone https://github.com/NiceNode/nice-node.git
cd nice-node
npm installStart the app in the dev environment:
npm startA window should pop open with NiceNode and a chrome devtools inspector running.
You may need to set environment variables locally. To do so, create a .env file at the top level with:
SENTRY_DSN=fake-token
MP_PROJECT_TOKEN=fake-token
MP_PROJECT_ENV=dev
NICENODE_ENV=development
CONTROLLER_API_URL=http://localhost:3000/api
SENTRY_DSN and MP_PROJECT_TOKEN should be fake unless testing. Contact Johns, @jgresham, if you want to test new error or event reporting code.
To package apps for the local platform:
npm run makeFor a specific platform & architecture:
npm run make -- --platform=linux --arch=arm64
npm run make -- --arch=x64 --platform=darwinarch options include: ia32, x64, armv7l, arm64, mips64el, universal
Unit tests with npm run test
npm run test -- --config vite.renderer.config.ts --dir src/__tests__/react
npm run test -- --config vite.main.config.ts --dir src/__tests__/node
For e2e tests, we use webdriver and an electron plugin to automate testing. It requires a packaged build to run the tests!
To run them locally, package the source first (and after making any changes to anything other than tests), then run the e2e tests with wdio
npm run make <your os and arch>
npm run wdioTo run Storybook locally:
npm run storybooknpx @electron/asar extract app.asar <destfolder> can be used to determine the contents of asar
npm run package followed by mkdir outAsar and npx @electron/asar extract ./out/NiceNode-darwin-arm64/NiceNode.app/Contents/Resources/app.asar outAsar on macOS
curl https://update.electronjs.org/NiceNode/nice-node/darwin-arm64/5.2.0-alpha returns if there is an update detected by the update server. The end of the URL is -/.
Also, NiceNode app auto update logs are in ../NiceNode/logs/autoUpdater*.log.