NEAR CLI is a Node.js application that relies on near-api-js to generate secure keys, connect to the NEAR platform and send transactions to the network on your behalf.
note that Node.js version 10+ is required to run NEAR CLI
Before you proceed, make sure you have to following software installed :
sudo apt install python3 git curl
sudo apt install clang
sudo apt install build-essential
sudo apt install nodejs
sudo apt install npm
sudo npm install -g n
sudo n stable
PATH="$PATH"
# sudo may be needed.
npm uninstall -g near-cligit clone https://github.com/near-guildnet/near-cli.git
cd near-cli
# sudo may be needed.
npm install -gIn command line, from the directory with your project:
export NODE_ENV=guildnet|testnet|mainnet|betanet
near <command>Without a wallet this is how I created master accounts. Maybe there's a different way. Account creation requires httpie
near generate-key <Account_id>.guildnet
http post http://164.90.144.140:3000/account newAccountId=account_id.guildnet newAccountPublicKey=account_public_keyFor a list of up-to-date commands, run near in your terminal with no arguments. If you need to find a command that isn't listed here, look in the /commands folder. And add it here :)
near login # logging in through NEAR protocol wallet
near create-account <accountId> # create a developer account with --masterAccount (required), publicKey and initialBalance
near state <accountId> # view account state
near keys <accountId> # view account public keys
near add-key <accountId> <accessKey> # Add an access key to given account
near send <sender> <receiver> <amount> # send tokens to given receiver
near stake <accountId> <stakingKey> <amount> # create staking transaction (stakingKey is base58 encoded)
near delete <accountId> <beneficiaryId> # delete an account and transfer funds to beneficiary account
near delete-key [accessKey] # delete access key near deploy [accountId] [wasmFile] [initFunction] [initArgs] [initGas] [initDeposit] # deploy your smart contract
near dev-deploy [wasmFile] # deploy your smart contract using temporary account (TestNet only)
near call <contractName> <methodName> [args] # schedule smart contract call which can modify state
near view <contractName> <methodName> [args] # make smart contract call which can view state
near clean # clean the smart contract build locally (remove ./out ) near evm-view <evmAccount> <contractName> <methodName> [args] # make an EVM smart contract call which can view state
near evm-call <evmAccount> <contractName> <methodName> [args] # schedule an EVM smart contract call which can modify state near tx-status <hash> # lookup transaction status by hash near validators <epoch> # lookup validating nodes by epoch(or "current", "next")
near proposals # lookup current proposalsnear repl
Launch interactive Node.js shell with NEAR connection available to use. The repl's initial context contains nearAPI, nearand account if an accountId cli argument is provided. To load a script into the repl use .load script.js.
near repl --acountId bob
> console.log(account)
> .load script.js
near repl # launch interactive Node.js shell with NEAR connection available to use
near generate-key <account-id> # generate key locally (Note: this does not create another access key automatically)| Option | Description | Type | Default |
|---|---|---|---|
| --help | Show help | [boolean] | |
| --version | Show version number | [boolean] | |
| --nodeUrl | NEAR node URL | [string] | "https://rpc.testnet.near.org" |
| --networkId | NEAR network ID for different keys by network | [string] | "default" |
| --helperUrl | NEAR contract helper URL | [string] | |
| --keyPath | Path to master account key | [string] | |
| --accountId | Unique identifier for the account | [string] [required] | |
| --masterAccount | Account used to create requested account. | [string] [required] | |
| --publicKey | Public key to initialize the account with | [string] [required] | |
| --initialBalance | Number of tokens to transfer to newly account | [string] [required] |
Use NEAR_ENV to define which network these commands will target. Default is testnet.
export NEAR_ENV=mainnet
This repository is distributed under the terms of both the MIT license and the Apache License (Version 2.0). See LICENSE and LICENSE-APACHE for details.