This app was initialized with create-near-app
If you haven't installed dependencies during setup:
npm install
Build and deploy your contract to TestNet with a temporary dev account:
npm run deploy
Test your contract:
npm test
If you have a frontend, run npm start. This will run a dev server.
- The smart-contract code lives in the
/contractfolder. See the README there for more info. In blockchain apps the smart contract is the "backend" of your app. - The frontend code lives in the
/frontendfolder./frontend/index.htmlis a great place to start exploring. Note that it loads in/frontend/index.js, this is your entrypoint to learn how the frontend connects to the NEAR blockchain. - Test your contract:
npm test, this will run the tests inintegration-testsdirectory.
Every smart contract in NEAR has its own associated account.
When you run npm run deploy, your smart contract gets deployed to the live NEAR TestNet with a temporary dev account.
When you're ready to make it permanent, here's how:
near-cli is a command line interface (CLI) for interacting with the NEAR blockchain. It was installed to the local node_modules folder when you ran npm install, but for best ergonomics you may want to install it globally:
npm install --global near-cli
Or, if you'd rather use the locally-installed version, you can prefix all near commands with npx
Ensure that it's installed with near --version (or npx near --version)
Each account on NEAR can have at most one contract deployed to it. If you've already created an account such as your-name.testnet, you can deploy your contract to near-blank-project.your-name.testnet. Assuming you've already created an account on NEAR Wallet, here's how to create near-blank-project.your-name.testnet:
-
Authorize NEAR CLI, following the commands it gives you:
near login
-
Create a subaccount (replace
YOUR-NAMEbelow with your actual account name):near create-account near-blank-project.YOUR-NAME.testnet --masterAccount YOUR-NAME.testnet
Use the CLI to deploy the contract to TestNet with your account ID.
Replace PATH_TO_WASM_FILE with the wasm that was generated in contract build directory.
near deploy --accountId near-blank-project.YOUR-NAME.testnet --wasmFile PATH_TO_WASM_FILE
Modify the line in src/config.js that sets the account name of the contract. Set it to the account id you used above.
const CONTRACT_NAME = process.env.CONTRACT_NAME || 'near-blank-project.YOUR-NAME.testnet'
On Windows, if you're seeing an error containing EPERM it may be related to spaces in your path. Please see this issue for more details.