1"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[2912],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>h});var n=a(7294);function o(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function r(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?i(Object(a),!0).forEach((function(t){o(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function s(e,t){if(null==e)return{};var a,n,o=function(e,t){if(null==e)return{};var a,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)>=0||(o[a]=e[a]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(o[a]=e[a])}return o}var l=n.createContext({}),d=function(e){var t=n.useContext(l),a=t;return e&&(a="function"==typeof e?e(t):r(r({},t),e)),a},p=function(e){var t=d(e.components);return n.createElement(l.Provider,{value:t},e.children)},c="mdxType",g={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var a=e.components,o=e.mdxType,i=e.originalType,l=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),c=d(a),u=o,h=c["".concat(l,".").concat(u)]||c[u]||g[u]||i;return a?n.createElement(h,r(r({ref:t},p),{},{components:a})):n.createElement(h,r({ref:t},p))}));function h(e,t){var a=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=a.length,r=new Array(i);r[0]=u;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[c]="string"==typeof e?e:o,r[1]=s;for(var d=2;d<i;d++)r[d]=a[d];return n.createElement.apply(null,r)}return n.createElement.apply(null,a)}u.displayName="MDXCreateElement"},4267:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>p,contentTitle:()=>l,default:()=>h,frontMatter:()=>s,metadata:()=>d,toc:()=>c});var n=a(7462),o=a(3366),i=(a(7294),a(3905)),r=["components"],s={title:"BPoS Node Registration Guide"},l=void 0,d={unversionedId:"nodes/registration-guide",id:"nodes/registration-guide",title:"BPoS Node Registration Guide",description:"image",source:"@site/../docs/5.nodes/registration-guide.md",sourceDirName:"5.nodes",slug:"/nodes/registration-guide",permalink:"/nodes/registration-guide",draft:!1,editUrl:"https://github.com/elastos/Elastos.Wiki/edit/master/website/../docs/5.nodes/registration-guide.md",tags:[],version:"current",lastUpdatedBy:"Ryan",lastUpdatedAt:1700489249,formattedLastUpdatedAt:"Nov 20, 2023",frontMatter:{title:"BPoS Node Registration Guide"},sidebar:"nodesSidebar",previous:{title:"Validator Requirements",permalink:"/nodes/requirements"},next:{title:"BPoS Upgrade Instructions",permalink:"/nodes/bpos-upgrade"}},p={},c=[{value:"Table of Contents",id:"table-of-contents",level:2},{value:"Node Registration Guidelines",id:"node-registration-guidelines",level:2},{value:"Getting Started",id:"getting-started",level:2},{value:"Download Essentials Wallet",id:"download-essentials-wallet",level:3},{value:"Get ELA on the Mainchain",id:"get-ela-on-the-mainchain",level:3},{value:"Steps to Register and Update a Node for BPoS",id:"steps-to-register-and-update-a-node-for-bpos",level:2},{value:"1. Register a Node",id:"1-register-a-node",level:3},{value:"2. Upgrade a Node",id:"2-upgrade-a-node",level:3},{value:"Claim Node Rewards",id:"claim-node-rewards",level:2}],g={toc:c},u="wrapper";function h(e){var t=e.components,s=(0,o.Z)(e,r);return(0,i.kt)(u,(0,n.Z)({},g,s,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"image",src:a(4148).Z,width:"848",height:"480"})),(0,i.kt)("p",null,"Elastos is transitioning from DPoS (Designated Proof of Stake) to BPoS (Bonded Proof of Stake) as part of its Elastic Consensus mechanism. Longtime Elastos contributor and former Council member Yipeng Su has proposed this change to enhance the security and stability of the Elastos main chain and side chains. BPoS comprises stakers and validators. This guide explains how to register a node and become a validator in BPoS. For information on deploying a node before registration, please refer to ",(0,i.kt)("a",{parentName:"p",href:"link_to_deployment_guide"},"this Guide"),"."),(0,i.kt)("h2",{id:"table-of-contents"},"Table of Contents"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"#node-registration-guidelines"}
1,"Node Registration Guidelines")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"#getting-started"},"Getting Started")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"#steps-to-register-and-update-a-node-for-bpos"},"Steps to Register and Update a Node for BPoS")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"#claim-ela-rewards"},"Claim ELA Rewards"))),(0,i.kt)("h2",{id:"node-registration-guidelines"},"Node Registration Guidelines"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"The node owner must pledge 2,000 ELA, which is locked for a minimum of 72,000 block heights (approximately 100 days)."),(0,i.kt)("li",{parentName:"ul"},"This pledge time can be extended beyond the initial minimum requirement. When the pledge time expires, the node also expires automatically."),(0,i.kt)("li",{parentName:"ul"},"The maximum pledge time for staking on a node cannot exceed the expected expiration time of the node."),(0,i.kt)("li",{parentName:"ul"},"After registration, nodes remain inactive and cannot participate in block consensus. However, nodes can start accepting stakers who want to stake their tokens on them."),(0,i.kt)("li",{parentName:"ul"},"Node activation occurs when the total staking rights of all stakers on it exceed 80,000 ELA. Once activated, the node can participate in block consensus."),(0,i.kt)("li",{parentName:"ul"},"In the BPoS protocol, an arbitration cycle consists of 36 blocks. At the beginning of each cycle, 36 validators are randomly selected from all active nodes."),(0,i.kt)("li",{parentName:"ul"},"ELA staking profits to the node owners and their stakers are automatically distributed via blockchain code: 25% for node owners and 75% for stakers.")),(0,i.kt)("h2",{id:"getting-started"},"Getting Started"),(0,i.kt)("h3",{id:"download-essentials-wallet"},"Download Essentials Wallet"),(0,i.kt)("p",null,"To register a node, start by downloading the flagship Elastos wallet, Essentials. Download the latest version for ",(0,i.kt)("a",{parentName:"p",href:"https://apps.apple.com/us/app/elastos-essentials/id1568931743"},"Apple")," or ",(0,i.kt)("a",{parentName:"p",href:"https://play.google.com/store/apps/details?id=org.elastos.essentials.app"},"Android"),"."),(0,i.kt)("h3",{id:"get-ela-on-the-mainchain"},"Get ELA on the Mainchain"),(0,i.kt)("p",null,"You can purchase ELA on various exchanges such as Coinbase, Kucoin, Huobi, and Gate.io. Alternatively, use the Elastos DEX Glide Finance to purchase ELA on the Elastos Smart Contract (ESC) Chain. For other options, check the ",(0,i.kt)("a",{parentName:"p",href:"https://www.coingecko.com/en/coins/elastos#markets"},"Coingecko Markets page")," for Elastos."),(0,i.kt)("p",null,"To begin the node registration process, transfer the purchased ELA tokens to the Essentials wallet. Once you have the main chain ELA in your wallet, you can proceed with registration."),(0,i.kt)("p",null,"Note: ELA listed on Coinbase is the ERC-20 version, and you need to follow ",(0,i.kt)("a",{parentName:"p",href:"https://elastos.info/blog/coinbase-adds-support-for-ela-on-ethereum-erc-20/"},"this guide")," to convert it to mainchain ELA for BPoS."),(0,i.kt)("h2",{id:"steps-to-register-and-update-a-node-for-bpos"},"Steps to Register and Update a Node for BPoS"),(0,i.kt)("h3",{id:"1-register-a-node"},"1. Register a Node"),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"image",src:a(4031).Z,width:"768",height:"512"})),(0,i.kt)("p",null,"1.1. Log in to the wallet and go to the \u201cBPoS Voting\u201d page by swiping left to the third page of the main interface."),(0,i.kt)("p",null,"1.2. Click the \u201c+\u201d icon in the upper right corner of the page. A pop-up window will appear with a warning message. Click \u201cOkay\u201d to proceed to the \u201cRegistration\u201d page."),(0,i.kt)("p",null,"1.3. On the \u201cRegistration\u201d page, fill in the required information such as node name, node URL, country or region, and number of days pledged. The node public key is displayed by default, but you need to manually modify it to the public key on the server before registering the node. After entering the details, click \u201cRegister.\u201d"),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"image",src:a(3505).Z,width:"768",height:"518"})),(0,i.kt)("p",null,"1.4. Review the registration information carefully and click \u201cConfirm\u201d to complete the registration process. Node registration will be finalized after block confirmation."),(0,i.kt)("p",null,"1.5. Return to the \u201cBPoS Voting\u201d page and click the symbol in the upper right corner to view your node details."),(0,i.kt)("h3",{id:"2-upgrade-a-node"},"2. Upgrade a Node"),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"image",src:a(6514).Z,width:"768",height:"538"})),(0,i.kt)("p",null,"2.1. Log in to the wallet and navigate to the \u201cBPoS Voting\u201d page by swiping left to the third page of the main interface."),(0,i.kt)("p",null,"2.2. Click the \u201c+\u201d icon in the upper right corner of the page. A pop-up window will appear with a warning message. Click \u201cOkay\u201d to proceed."),(0,i.kt)("p",null,"2.3. On the \u201cUpgrade to BPoS\u201d page, review the relevant details about the node, such as node name, node URL, country or region, and number of days pledged. Once you confirm the required information, click \u201cUpgrade.\u201d"),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"image",src:a(7185).Z,width:"768",height:"814"})),(0,i.kt)("p",null,"2.4. Review the registration details and click \u201cConfirm\u201d to proceed with the upgrade process."),(0,i.kt)("p",null,"2.5. The node update process will be finalized after successful block confirmation."),(0,i.kt)("h2",{id:"claim-node-rewards"},"Claim Node Rewards"),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"image",src:a(4495).Z,width:"768",height:"508"})),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},"Go to the \u201cELA Staking\u201d page.")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},"Select the \u201cWithdraw\u201d option at the bottom of the page.")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},"Enter the amount of ELA rewards you want to claim and choose the option to \u201cWithdraw the node\u2019s reward.\u201d")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},"Click the \u201cWithdraw\u201d button at the bottom of the page to initiate the process of claiming your ELA rewards.")))
1)}h.isMDXComponent=!0},4148:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/Featured-image-Nodes-registration-f1184245d38abda57f72be476c26fa97.gif"},4031:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/Nodes-Registration-1-1-768x512-1c260a4b3ed0f87fcc674b941aba5371.jpg"},3505:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/Nodes-Registration-2-1-768x518-d605fa5710c311b06d5fd5e2a0820860.jpg"},6514:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/Nodes-Registration-3-768x538-346d1a5c58f778a8af554a2445e49096.jpg"},7185:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/Nodes-Registration-4-768x814-c458f04f19c99a6289e7fab3d41270df.jpg"},4495:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/Nodes-Registration-5-768x508-940d0a249883b09ac5ddf0dd577575a7.jpg"}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.