diff --git a/docs/develop/node/archival/hardware-archival.md b/docs/develop/node/archival/hardware-archival.md index 811e9503db5..ea3fcc4a1e2 100644 --- a/docs/develop/node/archival/hardware-archival.md +++ b/docs/develop/node/archival/hardware-archival.md @@ -33,11 +33,14 @@ _Verify AVX support on Linux by issuing the command ```$ lscpu | grep -oh avx`` Estimated monthly costs depending on operating system: -| Cloud Provider | Machine Size | Linux | -| -------------- | --------------- | ---------------------- | -| AWS | c5.2xlarge | $150 CPU + $20 storage | -| GCP | c2-standard-8 | $250 CPU + $20 storage | -| Azure | Standard_F8s_v2 | $180 CPU + $10 storage | +| Cloud Provider | Machine Size | Linux | +| -------------- | --------------- | ------------------------ | +| AWS | c5.2xlarge | $250 CPU + $300 storage † | +| GCP | c2-standard-8 | $220 CPU + $300 storage † | +| Azure | Standard_F8s_v2 | $180 CPU + $300 storage † | + +_( † ) The storage cost will grow overtime as an archival node stores more data from the growing NEAR blockchain._ +
Resources for Cost Estimation+ +> Got a question? +> >
@@ -53,3 +56,6 @@ All prices reflect *reserved instances* which offer deep discounts on all platfo - Azure — https://azure.microsoft.com/en-us/pricing/calculator
+Did You Know?-3. Technical support and troubleshooting by the NEAR team are available in the Validator Channels on [Discord](https://discord.gg/ZMPr3VB) and on [Telegram](https://t.me/near_validators). -4. Discussions on upcoming changes and early ideation are on [gov.near.org](https://gov.near.org/c/staking-delegation/5). +## Feature Request and Bug Report +The NEAR team is actively solicitating feedback from the Node and Validator Community, and offers a process for the community to engage in feature / enhancement requests and to submit bug reports. Besides the existing NEAR Validator channels, the NEAR team is introducing a formal process for feature requests and bug reports. -
-1. Releases of `nearcore` are on Github repository of [`nearcore`](https://github.com/near/nearcore/issues). +As a node operator, you are welcome to create feature requests and submit bug reports on [Github](https://github.com/near/nearcore/issues) to improve the experience of running a node. Head to [`nearcore`](https://github.com/near/nearcore/issues) repository on Github to open an issue, and don't forget to tag the issue with the `nodeX` tag to indicate that this issue is related to `Node Experience`. -2. Bugs and feature enhancements are tracked in the Github project tracker [`Node Experience`](https://github.com/orgs/near/projects/18). Node operators are welcome to create new issues for features and bugs, and to add these issues into the [Github project tracker](https://github.com/orgs/near/projects/18). - - **New feature / Enhancement requests:** - - Please create a [`Github issue`](https://github.com/near/nearcore/issues) - - Tag `nodeX` - - Filter them through `Incoming Requests` column in the Github project tracker [`Node Experience`](https://github.com/orgs/near/projects/18), where they will be groomed and moved into `Backlog` based on priority - - **Bug reports:** - - Please create a [`Github issue`](https://github.com/near/nearcore/issues) - - Tag `nodeX` and `Bug` - - Put it at the top of the `Incoming Requests` column for more immediate attention in the Github project tracker [`Node Experience`](https://github.com/orgs/near/projects/18) +
-Heads up+- **Bug report:** + - Please create a [`Github issue`](https://github.com/near/nearcore/issues) + - Tag `nodeX` and `Bug` + - The issue will be reviewed and filtered through `Incoming Requests` column for more immediate attention in the Github project tracker [`Node Experience`](https://github.com/orgs/near/projects/18) + + +--- +## NEAR Node Community Channels +NEAR Protocol will communicate with validators using these channels: + +1. Releases of `nearcore` are on Github repository of [`nearcore`](https://github.com/near/nearcore/issues). + + +2. Technical support and troubleshooting by the NEAR team are available in the Validator Channels on [Discord](https://discord.gg/ZMPr3VB) and on [Telegram](https://t.me/near_validators). -**Runtime Alerts:** +3. Discussions on upcoming changes and early ideation are on [gov.near.org](https://gov.near.org/c/staking-delegation/5). + +--- + +## Runtime Alerts: To keep our network healthy and minimize the damage of potential incidents, the NEAR team would like to establish a process with which we communicate updates and emergency situations with validators so that they can respond promptly to properly sustain the operations of the network. To this end, we propose that we use different tags in important messages to validators so that they can be easily picked up by automated systems on validators’ end. @@ -49,3 +60,7 @@ The tags we propose are as follows: Call-to-actions for technical teams if the network is stalling and there's the need to coordinate a manual node restart. Such messages begin with `[CODE_RED_BETANET]` or `[CODE_RED_TESTNET]`, and will be posted in the read-only Validator Announcement channel on [Discord](https://discord.gg/xsrHaCb). The same message may be repeated in other channels, to have higher outreach. + +>Got a question? + +
+With respect to the experience of operating a NEAR node, all bugs and feature enhancements are publicly tracked in the Github project tracker [`Node Experience`](https://github.com/orgs/near/projects/18). Node operators are welcome to create new issues for features and bugs, and to add these issues into the [Github project tracker](https://github.com/orgs/near/projects/18). -As a node operator, you are welcome to create bugs and feature requests on Github to improve the experience of running a node. Head to [`nearcore`](https://github.com/near/nearcore/issues) repository on Github to open an issue, and don't forget to tag the issue with the `nodeX` tag. +- **New feature / Enhancement request:** + - Please create a [`Github issue`](https://github.com/near/nearcore/issues) + - Tag `nodeX` + - The issue will be reviewed and filtered through `Incoming Requests` column in the Github project [`Node Experience`](https://github.com/orgs/near/projects/18), where they will be groomed and slated for development based on priority -
-heads up-### 3. Build and run your MainNet validator node +### 3. Build and run your mainnet validator node - Clone the [`nearcore`](https://github.com/near/nearcore) repository: @@ -73,3 +73,7 @@ target/release/neard init --chain-id="mainnet" --account-id=
+Heads up
If validator keys are changed _during an epoch in which the validator is staking_, the validator's output will be rejected since their signature will not match (new keys). This means the validator will, by the end of the epoch, not be able to meet the minimum validator output threshold and lose their position as a recognized validator. Their stake will be returned to them. @@ -55,11 +55,11 @@ If validator keys are changed _during an epoch in which the validator is staking For concrete examples of keys being used as identifiers, you can see a list of validators and active nodes on various NEAR networks here: -- NEAR TestNet (staking currently disabled) +- NEAR testnet (staking currently disabled) - https://rpc.testnet.near.org/status - https://rpc.testnet.near.org/network_info -- NEAR BetaNet +- NEAR betanet - https://rpc.betanet.near.org/status - https://rpc.betanet.near.org/network_info diff --git a/docs/develop/node/intro/types-of-node.md b/docs/develop/node/intro/types-of-node.md index 34d62210d20..3e2dbb7302e 100644 --- a/docs/develop/node/intro/types-of-node.md +++ b/docs/develop/node/intro/types-of-node.md @@ -7,11 +7,15 @@ description: Types of NEAR Node You can run three different types of node - Validator Node, RPC Node, and Archival Node. -## Validator Node -Validator Nodes are the operators of the NEAR blockchain and are essential to the health of the network. Validator nodes participate in the consensus and produce blocks and/or chunks" +### Validator Node +Validator nodes are the operators of the NEAR blockchain and are essential to the health of the network. Validator nodes participate in the consensus and produce blocks and/or chunks. You can see a real-time view of NEAR network validator nodes on the [NEAR Explorer](https://explorer.near.org/nodes/validators). -## RPC Node -RPC Nodes are RPC service providers for that provide public RPC endpoints for developers to use. The NEAR Foundation currently maintains a public RPC endpoint `http://rpc.mainnet.near.org/` that is free for everyone to use. However, any participants are encouraged to run their own RPC node and offer RPC services through a grant from the NEAR Foundation. For more information, please reach out in Validator channels on Telegram or Discord. +### RPC Node +RPC nodes are RPC service providers that provide public RPC endpoints for developers to use. The NEAR Foundation currently maintains a public RPC endpoint `http://rpc.mainnet.near.org/` that is free for everyone to use. However, any participants are encouraged to run their own RPC node and offer RPC services through [an Open Source & Public Goods grant from the NEAR Foundation](https://near.org/grants/). For more information, please check out Community section in the documentation and reach out in the Validator Channels on [Discord](https://discord.gg/ZMPr3VB) and on [Telegram](https://t.me/near_validators). -## Archival Node -Archival Nodes store full blockchain data, and build an archive of historical states. These nodes are useful for block explorers, chain analytics, and infrastructure providers. +### Archival Node +Archival nodes store full blockchain data, and build an archive of historical states. These nodes are useful for block explorers, chain analysis, and infrastructure providers. + +>Got a question? + +Ask it on StackOverflow! diff --git a/docs/develop/node/intro/what-is-a-node.md b/docs/develop/node/intro/what-is-a-node.md index 71caff3337a..bc64b550110 100644 --- a/docs/develop/node/intro/what-is-a-node.md +++ b/docs/develop/node/intro/what-is-a-node.md @@ -7,17 +7,19 @@ description: What is a NEAR Node and Why Run a Node NEAR Protocol runs on a collection of publicly maintained computers (or "nodes"). All nodes are running the same `nearcore` codebase with the latest releases available on [Github](https://github.com/near/nearcore/releases/). In the following section, we will introduce three types of nodes. -It is important to keep in mind all nodes runs the same codebase, but with different configurations. As such we have split up the instructions for running different nodes into different sections. +It is important to keep in mind all nodes run the same codebase, with different configurations. As such, we have split up the documentation for running different types of node into sections specific to the type of nodes. ## Why run a Node? You may decide to run a node of your own for a few reasons: -- To join a network as a validator running a "validator node". Running a validator node is a public good and you are effectively securing the NEAR network and earning rewards. -- To develop and deploy contracts on a node connected to `MainNet`, `TestNet` or `BetaNet` (†) -- To develop and deploy contracts on a local (independent and isolated) node (sometimes called "LocalNet"). (††) -- To quickly extract blockchain data that can be used for chain analytics +- To join a network as a validator running a validator node. Running a validator node is a public good and you are effectively securing the NEAR network and earning rewards. +- To run applications that heavily depend on RPC performance and/or availability. +- To develop and deploy contracts on a local (independent and isolated) node (sometimes called "localnet"). (†) +- To quickly extract blockchain data that can be used for chain analytics, block explorer, etc. -_( † ) `TestNet` is intended to operate as similarly to `MainNet` as possible with only stable releases while `BetaNet` follows a weekly release cycle._ +_( † ) `localnet` would be the right choice if you prefer to avoid leaking information about your work during the development process since `testnet` and `betanet` are *public* networks. `localnet` also gives you total control over accounts, economics and other factors for more advanced use cases (ie. making changes to `nearcore`)._ -_( †† ) `LocalNet` would be the right choice if you prefer to avoid leaking information about your work during the development process since `TestNet` and `BetaNet` are *public* networks. `LocalNet` also gives you total control over accounts, economics and other factors for more advanced use cases (ie. making changes to `nearcore`)._ +>Got a question? + +Ask it on StackOverflow! diff --git a/docs/develop/node/maintenance/maintenance.md b/docs/develop/node/maintenance/maintenance.md index 1d5ae0385bf..37cdb69e720 100644 --- a/docs/develop/node/maintenance/maintenance.md +++ b/docs/develop/node/maintenance/maintenance.md @@ -7,7 +7,7 @@ description: NEAR Node Maintenance and Network Updates ## Updating a Node -As a decentralized network, every update to NEAR Protocol needs some coordination between end users, platforms, developers, and validators. [`nearup`](https://github.com/near/nearup) provides scripts to launch NEAR Protocol `TestNet` and `BetaNet` nodes. Unless it is executed with the switch `--binary-path`, `nearup` will automatically update the local binaries if NEAR's boot nodes fork the network and change the genesis checksum. +As a decentralized network, every update to NEAR Protocol needs some coordination between end users, platforms, developers, and validators. [`nearup`](https://github.com/near/nearup) provides scripts to launch NEAR Protocol `testnet` and `betanet` nodes. Unless it is executed with the switch `--binary-path`, `nearup` will automatically update the local binaries if NEAR's boot nodes fork the network and change the genesis checksum. For security-critical applications and for validators, `nearup` can run a locally compiled binary of [`nearcore`](https://github.com/near/nearcore), but such updates have to be done manually. Since validators are responsible for creating new blocks, coordination in this process is necessary to avoid any network stall. @@ -15,16 +15,16 @@ For security-critical applications and for validators, `nearup` can run a locall ## Planned Updates NEAR merges node updates from [nearcore releases](https://github.com/near/nearcore/releases) as follows: -- `BetaNet` every Monday at 00:00 UTC. The release tag is mapped with `x.y.z-beta` -- `TestNet` every Monday at 00:00 UTC. The release tag is mapped with `x.y.z-rc` -- `MainNet` is not yet subject to planned releases +- `betanet` every Monday at 00:00 UTC. The release tag is mapped with `x.y.z-beta` +- `testnet` every Monday at 00:00 UTC. The release tag is mapped with `x.y.z-rc` +- `mainnet` is not yet subject to planned releases -Once `MainNet: Restricted` is live, planned updates to `TestNet` and `MainNet` will come via coordination with validators. +Once `mainnet: Restricted` is live, planned updates to `testnet` and `mainnet` will come via coordination with validators.Heads up@@ -35,3 +35,7 @@ We may issue a `[CODE_YELLOW_TESTNET]` or `[CODE_YELLOW_MAINNET]` if the network NEAR Protocol team will use the tag `[CODE_RED_TESTNET]` or `[CODE_RED_MAINNET]` in the Validator Announcement channel on [Discord](https://discord.gg/xsrHaCb), followed by email instructions for coordination. Some updates may follow a confidential process, as explained on [nearcore/SECURITY.md](https://github.com/near/nearcore/blob/master/SECURITY.md) docs. NEAR's team will be mostly active on [Github](https://github.com/near/nearcore), and with limited participation on Discord and Telegram. + +>Got a question? + +
-`BetaNet` provides cutting-edge testing grounds for validators, with weekly updates and frequent hard-forks. `BetaNet` is using the `beta` branch of `nearcore`, which is merged every Wednesday at 00:00 UTC and deployed on NEAR boot nodes shortly after. +`betanet` provides cutting-edge testing grounds for validators, with weekly updates and frequent hard-forks. `betanet` is using the `beta` branch of `nearcore`, which is merged every Wednesday at 00:00 UTC and deployed on NEAR boot nodes shortly after.Ask it on StackOverflow! diff --git a/docs/develop/node/rpc/hardware-rpc.md b/docs/develop/node/rpc/hardware-rpc.md index f32527bccd3..f6f928ace9b 100644 --- a/docs/develop/node/rpc/hardware-rpc.md +++ b/docs/develop/node/rpc/hardware-rpc.md @@ -34,8 +34,8 @@ Estimated monthly costs depending on operating system: | Cloud Provider | Machine Size | Linux | | -------------- | --------------- | ---------------------- | -| AWS | c5.2xlarge | $150 CPU + $20 storage | -| GCP | c2-standard-8 | $250 CPU + $20 storage | +| AWS | c5.2xlarge | $250 CPU + $20 storage | +| GCP | c2-standard-8 | $220 CPU + $20 storage | | Azure | Standard_F8s_v2 | $180 CPU + $10 storage |@@ -52,3 +52,7 @@ All prices reflect *reserved instances* which offer deep discounts on all platfo - Azure — https://azure.microsoft.com/en-us/pricing/calculator+ +>Got a question? + +Ask it on StackOverflow! diff --git a/docs/develop/node/validator/compile-and-run-a-node.md b/docs/develop/node/validator/compile-and-run-a-node.md index 530eee0f82e..4c2f4555683 100644 --- a/docs/develop/node/validator/compile-and-run-a-node.md +++ b/docs/develop/node/validator/compile-and-run-a-node.md @@ -5,7 +5,7 @@ sidebar_label: Compile and Run without Container description: Compile and Run a NEAR Node without Container in localnet, testnet, and mainnet --- -This doc is written for developers, sysadmins, DevOps, or curious people who want to know how to compile and run a regular NEAR node natively (without containerization) for one of the following networks: +This doc is written for developers, sysadmins, DevOps, or curious people who want to know how to compile and run a regular NEAR validator node natively (without containerization) for one of the following networks: - [`localnet`](/docs/develop/node/validator/compile-and-run-a-node#localnet) - [`testnet`](/docs/develop/node/validator/compile-and-run-a-node#testnet) @@ -204,7 +204,7 @@ $ git fetch origin --tags $ cd nearcore ``` -Next, checkout the release branch you need (recommended) if you will not be using the default `master` branch. Please check the [releases page on GitHub](https://github.com/near/nearcore/releases) for the latest release. Currently `1.19.0` as of 5/25/21. +Next, checkout the release branch you need (recommended) if you will not be using the default `master` branch. Please check the [releases page on GitHub](https://github.com/near/nearcore/releases) for the latest release. For more information on choosing between `master` and latest release branch [ [click here](/docs/develop/node/validator/compile-and-run-a-node#choosing-your-nearcore-version) ]. @@ -283,3 +283,7 @@ $ ./target/release/neard --home ~/.near run ``` That's all. The node is running and you can see log outputs in your console. It will download a bit of missing data since the last backup was performed but it shouldn't take much time. + +>Got a question? + +Ask it on StackOverflow! diff --git a/docs/develop/node/validator/deploy-on-mainnet.md b/docs/develop/node/validator/deploy-on-mainnet.md index 7262171ec7c..97b6282125f 100644 --- a/docs/develop/node/validator/deploy-on-mainnet.md +++ b/docs/develop/node/validator/deploy-on-mainnet.md @@ -1,19 +1,19 @@ --- id: deploy-on-mainnet -title: Deploy Node on MainNet -sidebar_label: Deploy Node on MainNet +title: Deploy Node on Mainnet +sidebar_label: Deploy Node on Mainnet --- -Deploying a node on MainNet is similar to deploying on TestNet and BetaNet: -1. Create your MainNet wallet -2. Deploy your MainNet staking pool -3. Build and run your MainNet validator node +Deploying a node on mainnet is similar to deploying on testnet and betanet: +1. Create your mainnet wallet +2. Deploy your mainnet staking pool +3. Build and run your mainnet validator node -### 1. Create your MainNet Wallet +### 1. Create your mainnet Wallet - Go to [wallet.near.org](https://wallet.near.org/) and create an account. -### 2. Deploy your MainNet Staking Pool +### 2. Deploy your mainnet Staking Pool You can instantly deploy the staking pool with [near-cli](https://github.com/near/near-cli), using the command `near call`: ``` @@ -35,7 +35,7 @@ The command will invoke the `staking-pool-factory` from [NEAR Core Contracts](ht If your POOL_ID is "buildlinks", the staking pool factory will deploy a contract called "buildlinks.poolv1.near", and your node will appear in the Explorer as "buildlinks.poolv1.near"
@@ -52,3 +52,7 @@ All prices reflect *reserved instances* which offer deep discounts on all platfo - Azure — https://azure.microsoft.com/en-us/pricing/calculator+ +>Got a question? + +