1"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[4231],{3905:(e,t,a)=>{a.d(t,{Zo:()=>m,kt:()=>h});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(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 s(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function l(e,t){if(null==e)return{};var a,n,r=function(e,t){if(null==e)return{};var a,n,r={},o=Object.keys(e);for(n=0;n<o.length;n++)a=o[n],t.indexOf(a)>=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)a=o[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var i=n.createContext({}),p=function(e){var t=n.useContext(i),a=t;return e&&(a="function"==typeof e?e(t):s(s({},t),e)),a},m=function(e){var t=p(e.components);return n.createElement(i.Provider,{value:t},e.children)},d="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},c=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,m=l(e,["components","mdxType","originalType","parentName"]),d=p(a),c=r,h=d["".concat(i,".").concat(c)]||d[c]||u[c]||o;return a?n.createElement(h,s(s({ref:t},m),{},{components:a})):n.createElement(h,s({ref:t},m))}));function h(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=a.length,s=new Array(o);s[0]=c;var l={};for(var i in t)hasOwnProperty.call(t,i)&&(l[i]=t[i]);l.originalType=e,l[d]="string"==typeof e?e:r,s[1]=l;for(var p=2;p<o;p++)s[p]=a[p];return n.createElement.apply(null,s)}return n.createElement.apply(null,a)}c.displayName="MDXCreateElement"},5372:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>m,contentTitle:()=>i,default:()=>h,frontMatter:()=>l,metadata:()=>p,toc:()=>d});var n=a(7462),r=a(3366),o=(a(7294),a(3905)),s=["components"],l={title:"Nodes Overview"},i=void 0,p={unversionedId:"nodes/overview",id:"nodes/overview",title:"Nodes Overview",description:"Consensus Nodes",source:"@site/../docs/5.nodes/overview.md",sourceDirName:"5.nodes",slug:"/nodes/overview",permalink:"/nodes/overview",draft:!1,editUrl:"https://github.com/elastos/Elastos.Wiki/edit/master/website/../docs/5.nodes/overview.md",tags:[],version:"current",lastUpdatedBy:"racollette",lastUpdatedAt:1678417269,formattedLastUpdatedAt:"Mar 10, 2023",frontMatter:{title:"Nodes Overview"},sidebar:"nodesSidebar",next:{title:"Validator Requirements",permalink:"/nodes/requirements"}},m={},d=[{value:"Consensus Nodes",id:"consensus-nodes",level:2},{value:"Types of Elastos nodes, by common features:",id:"types-of-elastos-nodes-by-common-features",level:3},{value:"Types of Elastos node networks:",id:"types-of-elastos-node-networks",level:3},{value:"Types of Elastos nodes, by who might operate them:",id:"types-of-elastos-nodes-by-who-might-operate-them",level:3},{value:"Source References",id:"source-references",level:2}],u={toc:d},c="wrapper";function h(e){var t=e.components,a=(0,r.Z)(e,s);return(0,o.kt)(c,(0,n.Z)({},u,a,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h2",{id:"consensus-nodes"},"Consensus Nodes"),(0,o.kt)("p",null,"The Elastos network architecture consists of the ",(0,o.kt)("a",{parentName:"p",href:"/learn/mainchain/intro"},"mainchain")," and multiple ",(0,o.kt)("a",{parentName:"p",href:"/learn/sidechains/intro"},"sidechains"),", as well as several additional services necessary for them to communicate with each other."),(0,o.kt)("h3",{id:"types-of-elastos-nodes-by-common-features"},"Types of Elastos nodes, by common features:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/nodes/requirements"},"Supernodes")," (Bonded proof-of-stake validator clients)",(0,o.kt)("ul",{parentName:"li"},(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Normal")," - Only mainchain required (ELA)"),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"CR Council Member")," - All services required (ELA, DID, ESC, EID, Arbiter)"))),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/integrator/mining"},"Mining nodes")," (Bitcoin merge-mining clients)"),(0,o.kt)("li",{parentName:"ul"},"Pure verification nodes"),(0,o.kt)("li",{parentName:"ul"},"Full nodes"),(0,o.kt)("li",{parentName:"ul"},"Light nodes")),(0,o.kt)("h3",{id:"types-of-elastos-node-networks"},"Types of Elastos node networks:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Mainnet")," - The real blockchain and network, monetary value, and all the real transactions take place."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Testnet")," - Testnet is a parallel blockchain to mainnet, used only for testing and development."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Regtest")," - A regression test network is almost identical to the mainnet, but it is for private development. External connections are not enabled.")),(0,o.kt)("h3",{id:"types-of-elastos-nodes-by-who-might-operate-them"},"Types of Elastos nodes, by who might operate them:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Community Members"),(0,o.kt)("li",{parentName:"ul"},"CR Council Members"),(0,o.kt)("li",{parentName:"ul"},"Application Developers"),(0,o.kt)("li",{parentName:"ul"},"Service Providers"),(0,o.kt)("li",{parentName:"ul"},"Mining Pools"),(0,o.kt)("li",{parentName:"ul"},"Crypto Exchanges")),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"So we may conclude:")),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"An Elastos node may contain one or more components, which consists of blockchain daemons or services and the supporting programs."),(0,o.kt)("li",{parentName:"ul"},"And different people or roles may need different Elastos nodes.")),(0,o.kt)("hr",null),(0,o.kt)("h2",{id:"source-references"},"Source References"),(0,o.kt)("p",null,"The Elastos platform architecture consists of several components that are necessary for the continued operation of its blockchains. These components may be described as chains, daemons, services, or programs in these documents."),(0,o.kt)("p",null,"Although not all users need to host all of them. Some users may need to setup at least one of them."),(0,o.kt)("p",null,"Check their respective project pages for more information."),(0,o.kt)("table",null,(0,o.kt)("thead",{parentName:"table"},(0,o.kt)("tr",{parentName:"thead"},(0,o.kt)("th",{parentName:"tr",align:null},"Chain/Program"),(0,o.kt)("th",{parentName:"tr",align:null},"Description"),(0,o.kt)("th",{parentName:"tr",align:null},"Build Repository"))),(0,o.kt)("tbody",{parentName:"table"},(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"ELA"),(0,o.kt)("td",{parentName:"tr",align:null},"Mainchain service"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/elastos/Elastos.ELA"},"https://github.com/elastos/Elastos.ELA"))),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"ESC"),(0,o.kt)("td",{parentName:"tr",align:null},"Elastos Smart Contract chain service"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/elastos/Elastos.ELA.SideChain.ESC"},"https://github.com/elastos/Elastos.ELA.SideChain.ESC"))),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"ESC-Oracle"),(0,o.kt)("td",{parentName:"tr",align:null}),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/elastos/Elastos.ELA.SideChain.ESC"},"https://github.com/elastos/Elastos.ELA.SideChain.ESC"))),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"EID"),(0,o.kt)("td",{parentName:"tr",align:null},"Elastos Identity chain service"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/elastos/Elastos.ELA.SideChain.EID"},"https://github.com/elastos/Elastos.ELA.SideChain.EID"))),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"EID-Oracle"),(0,o.kt)("td",{parentName:"tr",align:null}),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/elastos/Elastos.ELA.SideChain.EID"},"https://github.com/elastos/Elastos.ELA.SideChain.EID"))),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Arbiter"),(0,o.kt)("td",{parentName:"tr",align:null},"A service that monitors for failure of parent-sidechain transfer failures"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/elastos/Elastos.ELA.Arbiter"},"https://github.com/elastos/Elastos.ELA.Arbiter"))),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Hive"),(0,o.kt)("td",{parentName:"tr",align:null},"The service node of Hive decentralized memory network"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/elastos/Elastos.Hive.Node"},"https://github.com/elastos/Elastos.Hive.Node"))),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Carrier Bootstrap"),(0,o.kt)("td",{parentName:"tr",align:null},"A service to help new nodes to join the Elastos Carrier network"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/elastos/Elastos.NET.Carrier.Bootstrap"},"https://github.com/elastos/Elastos.NET.Carrier.Bootstrap"))))))}h.isMDXComponent=!0}}]);
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.