NEAR CLI
NEAR 명령줄(Command Line) 인터페이스 (CLI)는 쉘에서 직접 NEAR 네트워크와 상호 작용할 수 있는 도구입니다. Among other things, the NEAR CLI enables you to:
- NEAR 계정으로 로그인
- 컨트랙트 배포
- 배포된 컨트랙트에서 상호 작용 및 정보 쿼리
NEAR JavaScript API
를 활용합니다. :::The NEAR CLI also comes with an implementation in Rust called near-cli-rs
. If you want to use near-cli
while you have near-cli-rs
installed, prefix the following commands with npx
.
Overview
Click on a command for more information and examples.
명령 | 설명 |
---|---|
ACCESS KEYS | |
near add-credentials | Stores credentials for an account locally |
near add-key | 계정에 새 액세스 키 추가 |
near delete-key | 계정에서 액세스 키 삭제 |
near generate-key | generates a key pair and optionally stores it locally as credentials for an accountId |
near list-keys | 지정된 계정에 대한 모든 액세스 키 및 세부 정보 표시 |
near login | stores a full access key locally using NEAR Wallet |
ACCOUNTS | |
near create-account | creates a new account, either using a faucet to fund it, or an account saved locally |
near delete-account | 계정을 삭제하고 남은 잔액을 수령자 계정으로 이체 |
near list-keys | 주어진 계정에 대한 모든 액세스 키 표시 |
near send-near | 한 계정에서 다른 계정으로 토큰 전송 |
near state | 계정 내 세부 정보 확인 |
CONTRACTS | |
near call | change 또는 view 메서드를 호출할 수 있는 컨트랙트 호출 생성 |
near deploy | NEAR 블록체인에 스마트 컨트랙트 배포 |
near storage | Shows the storage state of a given contract, i.e. the data stored in a contract |
near view | view 메서드만 호출할 수 있는 컨트랙트 호출 생성 |
TRANSACTIONS | |
near tx-status | txHash 를 통해 트랜잭션 상태 조회 |
설정
설치
npm
과NodeJS
의 최신 버전이 설치되었는지 확인하세요.
Mac / Linux
- OS X가 USB 장치와 관련된 노드 패키지를 처리하는 방식으로 인해 때때로 Ledger를 사용하는 데 문제가 있으므로,
nvm
과 같은 패키지 관리자를 사용하여npm
및node
를 설치합니다. 여기를 클릭하세요. - Node 버전 12 이상을 설치했는지 확인하세요.
- 다음을 실행하여
near-cli
를 전역적으로 설치합니다.
npm install -g near-cli
For example, on Ubuntu 20.04 near-cli
can be installed by running:
# Install nvm (https://github.com/nvm-sh/nvm?tab=readme-ov-file#installing-and-updating)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.bashrc
# Install node
nvm install node
# Install near-cli
npm install -g near-cli
# near-cli works!
near --help
Windows
Windows 사용자의 경우, Linux용 Windows 하위 시스템(
WSL
)을 사용하는 것이 좋습니다.
WSL
설치 [여기를 클릭하세요]npm
설치 [여기를 클릭하세요]Node.js
설치 [여기를 클릭하세요]npm
기본 디렉토리 변경 [여기를 클릭하세요]- 이는
WSL
권한 문제를 피하기 위한 것입니다.
- 이는
- 다음을 실행하여
WSL
을 열고near-cli
를 전역적으로 설치
npm install -g near-cli
네트워크 선택
near-cli
의 기본 네트워크는testnet
입니다.
- 명령 앞에 환경 변수를 추가하여 네트워크를 변경할 수 있습니다.
NEAR_NETWORK=testnet near send ...
- 또는, 다음을 실행하여 전역 환경 변수를 설정할 수 있습니다.
export NEAR_NETWORK=mainnet
- All commands that interact with the network also allow to pass the
--networkId
option.
near send-near ... --networkId mainnet
Custom RPC server selection
You can set custom RPC server URL by setting these env variables:
NEAR_MAINNET_RPC
NEAR_TESTNET_RPC
Clear them in case you want to get back to the default RPC server.
Example:
export NEAR_TESTNET_RPC=<put_your_rpc_server_url_here>
액세스 키
All keys are stored locally at the root of your HOME
directory:
~/.near-credentials
(MAC / Linux)C:\Users\YOUR_ACCOUNT\.near-credentials
(Windows)
Inside .near-credentials
, access keys are organized in network subdirectories: testnet
, and mainnet
.
These network subdirectories contain .JSON
objects with an:
account_id
private_key
public_key
near add-credentials <accountId>
Stores credentials (full-access-key) locally for an already existing account.
- 인수:
accountId
- options:
--seedPhrase
or--secretKey
Examples:
near add-credentials example-acct.testnet --seedPhrase "antique attitude say evolve ring arrive hollow auto wide bronze usual unfold"
near add-key
Adds either a full access or function access key to a given account.
Optionally allows to sign with a Ledger:
--signWithLedger
--ledgerPath
Note: You will use an existing full access key for the account you would like to add a new key to. (near login
)
1) 전체 액세스
키 추가
- 인자:
accountId
publicKey
Example:
near add-key example-acct.testnet Cxg2wgFYrdLTEkMu6j5D6aEZqTb3kXbmJygS48ZKbo1S
Example Response
Adding full access key = Cxg2wgFYrdLTEkMu6j5D6aEZqTb3kXbmJygS48ZKbo1S to example-acct.testnet.
Transaction Id EwU1ooEvkR42HvGoJHu5ou3xLYT3JcgQwFV3fAwevGJg
To see the transaction in the transaction explorer, please open this url in your browser
https://testnet.nearblocks.io/txns/EwU1ooEvkR42HvGoJHu5ou3xLYT3JcgQwFV3fAwevGJg
2) add a function call
key
- 인자:
accountId
publicKey
--contract-id
- 옵션:
--method-names
--allowance
accountId
는 키를 추가할 계정입니다.
--contract-id
는 메서드 호출을 허용하는 컨트랙트입니다.
--method-names
는 선택 사항이며, 생략하면--contract-id
의 모든 메서드를 호출할 수 있습니다.
--allowance
is the amount of Ⓝ the key is allowed to spend on gas fees only (default: 0).
Note: Each transaction made with this key will have gas fees deducted from the initial allowance and once it runs out a new key must be issued.
Example:
near add-key example-acct.testnet GkMNfc92fwM1AmwH1MTjF4b7UZuceamsq96XPkHsQ9vi --contract-id example-contract.testnet --method-names example_method --allowance 30000000000
Example Response
Adding function call access key = GkMNfc92fwM1AmwH1MTjF4b7UZuceamsq96XPkHsQ9vi to example-acct.testnet.
Transaction Id H2BQL9fXVmdTbwkXcMFfZ7qhZqC8fFhsA8KDHFdT9q2r
To see the transaction in the transaction explorer, please open this url in your browser
https://testnet.nearblocks.io/txns/H2BQL9fXVmdTbwkXcMFfZ7qhZqC8fFhsA8KDHFdT9q2r
near delete-key
지정된 계정의 기존 키를 삭제합니다. Optionally allows to sign with a Ledger:
--signWithLedger
--ledgerPath
- 인자:
accountId
publicKey
- options:
--networkId
,force
Note: You will need separate full access key for the account you would like to delete a key from. (near login
)
Example:
near delete-key example-acct.testnet Cxg2wgFYrdLTEkMu6j5D6aEZqTb3kXbmJygS48ZKbo1S
Example Response
Transaction Id 4PwW7vjzTCno7W433nu4ieA6FvsAjp7zNFwicNLKjQFT
To see the transaction in the transaction explorer, please open this url in your browser
https://testnet.nearblocks.io/txns/4PwW7vjzTCno7W433nu4ieA6FvsAjp7zNFwicNLKjQFT
near generate-key
Displays a key-pair and seed-phrase and optionally stores it locally in
.near-credentials
.
- 인자:
accountId
또는none
- options:
--fromSeedPhrase
,--saveImplicit
,--queryLedgerPK
Note: There are several ways to use generate-key
that return very different results. Please reference the examples below for further details.
1a) near generate-key
Creates and displays a key pair
near generate-key
Example Response
Seed phrase: antique attitude say evolve ring arrive hollow auto wide bronze usual unfold
Key pair: {"publicKey":"ed25519:BW5Q957u1rTATGpanKUktjVmixEmT56Df4Dt9hoGWEXz","secretKey":"ed25519:5StmPDg9xVNzpyudwxT8Y72iyRq7Fa86hcpsRk6Cq5eWGWqwsPbPT9woXbJs9Qe69crZJHh4DMkrGEPGDDfmXmy2"}
Implicit account: 9c07afc7673ea0f9a20c8a279e8bbe1dd1e283254263bb3b07403e4b6fd7a411
1b) near generate-key --saveImplicit
Creates and displays a key pair, saving it locally in
.near-credentials
as an implicit account.
near generate-key --saveImplicit
Example Response
Seed phrase: antique attitude say evolve ring arrive hollow auto wide bronze usual unfold
Key pair: {"publicKey":"ed25519:BW5Q957u1rTATGpanKUktjVmixEmT56Df4Dt9hoGWEXz","secretKey":"ed25519:5StmPDg9xVNzpyudwxT8Y72iyRq7Fa86hcpsRk6Cq5eWGWqwsPbPT9woXbJs9Qe69crZJHh4DMkrGEPGDDfmXmy2"}
Implicit account: 9c07afc7673ea0f9a20c8a279e8bbe1dd1e283254263bb3b07403e4b6fd7a411
Storing credentials for account: 9d6e4506ac06ab66a25f6720e400ae26bad40ecbe07d49935e83c7bdba5034fa (network: testnet)
Saving key to '~/.near-credentials/testnet/9d6e4506ac06ab66a25f6720e400ae26bad40ecbe07d49935e83c7bdba5034fa.json'
2) near generate-key accountId
특정
accountId
로.near-credentials
내 로컬에서 키 쌍을 생성합니다.
Note: This does NOT create an account with this name.
near generate-key example.testnet
Example Response
Seed phrase: antique attitude say evolve ring arrive hollow auto wide bronze usual unfold
Key pair: {"publicKey":"ed25519:BW5Q957u1rTATGpanKUktjVmixEmT56Df4Dt9hoGWEXz","secretKey":"ed25519:5StmPDg9xVNzpyudwxT8Y72iyRq7Fa86hcpsRk6Cq5eWGWqwsPbPT9woXbJs9Qe69crZJHh4DMkrGEPGDDfmXmy2"}
Implicit account: 9c07afc7673ea0f9a20c8a279e8bbe1dd1e283254263bb3b07403e4b6fd7a411
Storing credentials for account: example.testnet (network: testnet)
Saving key to '~/.near-credentials/testnet/example.testnet.json'
3a) near generate-key --fromSeedPhrase="your seed phrase"
Uses a seed phrase to display a public key and implicit account
near generate-key --seedPhrase="antique attitude say evolve ring arrive hollow auto wide bronze usual unfold"
Example Response
Seed phrase: antique attitude say evolve ring arrive hollow auto wide bronze usual unfold
Key pair: {"publicKey":"ed25519:BW5Q957u1rTATGpanKUktjVmixEmT56Df4Dt9hoGWEXz","secretKey":"ed25519:5StmPDg9xVNzpyudwxT8Y72iyRq7Fa86hcpsRk6Cq5eWGWqwsPbPT9woXbJs9Qe69crZJHh4DMkrGEPGDDfmXmy2"}
Implicit account: 9c07afc7673ea0f9a20c8a279e8bbe1dd1e283254263bb3b07403e4b6fd7a411
3b) near generate-key accountId --seedPhrase="your seed phrase"
Will store the key pair corresponding to the seedPhrase in .near-credentials
with an accountId
that you specify.
Example Response
Seed phrase: antique attitude say evolve ring arrive hollow auto wide bronze usual unfold
Key pair: {"publicKey":"ed25519:BW5Q957u1rTATGpanKUktjVmixEmT56Df4Dt9hoGWEXz","secretKey":"ed25519:5StmPDg9xVNzpyudwxT8Y72iyRq7Fa86hcpsRk6Cq5eWGWqwsPbPT9woXbJs9Qe69crZJHh4DMkrGEPGDDfmXmy2"}
Implicit account: 9c07afc7673ea0f9a20c8a279e8bbe1dd1e283254263bb3b07403e4b6fd7a411
4a) near generate-key --queryLedgerPK
Uses a connected Ledger device to display a public key and implicit account using the default HD path (
"44'/397'/0'/0'/1'"
)
near generate-key --queryLedgerPK
You should then see the following prompt to confirm this request on your Ledger device:
Make sure to connect your Ledger and open NEAR app
Getting Public Key from Ledger...
After confirming the request on your Ledger device, a public key and implicit accountId will be displayed.
Example Response
Using public key: ed25519:B22RP10g695wyeRvKIWv61NjmQZEkWTMzAYgdfx6oSeB2
Implicit account: 42c320xc20739fd9a6bqf2f89z61rd14efe5d3de234199bc771235a4bb8b0e1
3b) near generate-key --queryLedgerPK --ledgerPath="HD path you specify"
Uses a connected Ledger device to display a public key and implicit account using a custom HD path.
near generate-key --queryLedgerPK --ledgerPath="44'/397'/0'/0'/2'"
You should then see the following prompt to confirm this request on your Ledger device:
Make sure to connect your Ledger and open NEAR app
Waiting for confirmation on Ledger...
After confirming the request on your Ledger device, a public key and implicit accountId will be displayed.
Example Response
Using public key: ed25519:B22RP10g695wye3dfa32rDjmQZEkWTMzAYgCX6oSeB2
Implicit account: 42c320xc20739ASD9a6bqf2Dsaf289z61rd14efe5d3de23213789009afDsd5bb8b0e1
near list-keys
지정된 계정에 대한 모든 액세스 키를 표시합니다.
- 인자:
accountId
Example:
near list-keys client.chainlink.testnet
Example Response
Keys for account client.chainlink.testnet
[
{
public_key: 'ed25519:4wrVrZbHrurMYgkcyusfvSJGLburmaw7m3gmCApxgvY4',
access_key: { nonce: 97, permission: 'FullAccess' }
},
{
public_key: 'ed25519:H9k5eiU4xXS3M4z8HzKJSLaZdqGdGwBG49o7orNC4eZW',
access_key: {
nonce: 88,
permission: {
FunctionCall: {
allowance: '18483247987345065500000000',
receiver_id: 'client.chainlink.testnet',
method_names: [ 'get_token_price', [length]: 1 ]
}
}
}
},
[length]: 2
]
near login
locally stores a full access key of an account you created with MyNEARWallet.
- 인자:
none
- options:
--networkId
Example:
near login
Custom wallet url:
The default wallet URL is https://testnet.mynearwallet.com/
. However, if you want to change to a different wallet URL, you can set the environmental variable NEAR_MAINNET_WALLET
or NEAR_TESTNET_WALLET
.
export NEAR_TESTNET_WALLET=https://wallet.testnet.near.org/
near login
계정
near create-account
Creates an account using an existing account or a faucet service to pay for the account's creation and initial balance.
- arguments:
accountId
- options:
--initialBalance
,--useFaucet
,--useAccount
,--seedPhrase
,--publicKey
,--signWithLedger
,--ledgerPath
,--useLedgerPK
,--PkLedgerPath
Examples::
# Creating account using `example-acct.testnet` to fund it
near create-account new-acc.testnet --useAccount example-acct.testnet
# Creating account using the faucet to fund it
near create-account new-acc.testnet --useFaucet
# Creating a pre-funded account that can be controlled by the Ledger's public key
near create-account new-acc.testnet --useFaucet --useLedgerPK
# Creating an account using a Ledger account
near create-account new-acc.testnet --useAccount ledger-acct.testnet --signWithLedger
Subaccount example:
# Using an account to create a sub-account
near create-account sub-acct.example-acct.testnet --useAccount example-acct.testnet
# Creating a sub-account using the Ledger that can also be controlled by the ledger
near create-account sub.acc.testnet --useAccount sub.acc.testnet --signWithLedger --useLedgerPK
Example using --initialBalance
:
near create-account sub-acct2.example-acct.testnet --useAccount example-acct.testnet --initialBalance 10
Example Response
Saving key to '/HOME_DIR/.near-credentials/default/sub-acct2.example-acct.testnet.json'
Account sub-acct2.example-acct.testnet for network "default" was created.
near delete-account
계정을 삭제하고 남은 잔액을 수령자 계정으로 이체합니다.
- 인자:
accountId
beneficiaryId
- options:
force
,--signWithLedger
,--ledgerPath
Example:
near delete-account sub-acct2.example-acct.testnet example-acct.testnet
Example Response
Deleting account. Account id: sub-acct2.example-acct.testnet, node: https://rpc.testnet.near.org, helper: https://helper.testnet.near.org, beneficiary: example-acct.testnet
Transaction Id 4x8xohER1E3yxeYdXPfG8GvXin1ShiaroqE5GdCd5YxX
To see the transaction in the transaction explorer, please open this url in your browser
https://testnet.nearblocks.io/txns/4x8xohER1E3yxeYdXPfG8GvXin1ShiaroqE5GdCd5YxX
Account sub-acct2.example-acct.testnet for network "default" was deleted.