1"use strict";(globalThis.webpackChunkdocs_oasis_io=globalThis.webpackChunkdocs_oasis_io||[]).push([[1420],{11470:(e,n,r)=>{r.d(n,{A:()=>y});var t=r(96540),i=r(34164),a=r(17559),s=r(23104),o=r(56347),l=r(205),d=r(57485),c=r(31682),u=r(70679);function h(e){return t.Children.toArray(e).filter(e=>"\n"!==e).map(e=>{if(!e||(0,t.isValidElement)(e)&&function(e){const{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw new Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)})?.filter(Boolean)??[]}function m(e){const{values:n,children:r}=e;return(0,t.useMemo)(()=>{const e=n??function(e){return h(e).map(({props:{value:e,label:n,attributes:r,default:t}})=>({value:e,label:n,attributes:r,default:t}))}(r);return function(e){const n=(0,c.XI)(e,(e,n)=>e.value===n.value);if(n.length>0)throw new Error(`Docusaurus error: Duplicate values "${n.map(e=>e.value).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e},[n,r])}function p({value:e,tabValues:n}){return n.some(n=>n.value===e)}function v({queryString:e=!1,groupId:n}){const r=(0,o.W6)(),i=function({queryString:e=!1,groupId:n}){if("string"==typeof e)return e;if(!1===e)return null;if(!0===e&&!n)throw new Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:e,groupId:n});return[(0,d.aZ)(i),(0,t.useCallback)(e=>{if(!i)return;const n=new URLSearchParams(r.location.search);n.set(i,e),r.replace({...r.location,search:n.toString()})},[i,r])]}function x(e){const{defaultValue:n,queryString:r=!1,groupId:i}=e,a=m(e),[s,o]=(0,t.useState)(()=>function({defaultValue:e,tabValues:n}){if(0===n.length)throw new Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(e){if(!p({value:e,tabValues:n}))throw new Error(`Docusaurus error: The <Tabs> has a defaultValue "${e}" but none of its children has the corresponding value. Available values are: ${n.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return e}const r=n.find(e=>e.default)??n[0];if(!r)throw new Error("Unexpected error: 0 tabValues");return r.value}({defaultValue:n,tabValues:a})),[d,c]=v({queryString:r,groupId:i}),[h,x]=function({groupId:e}){const n=function(e){return e?`docusaurus.tab.${e}`:null}(e),[r,i]=(0,u.Dv)(n);return[r,(0,t.useCallback)(e=>{n&&i.set(e)},[n,i])]}({groupId:i}),j=(()=>{const e=d??h;return p({value:e,tabValues:a})?e:null})();(0,l.A)(()=>{j&&o(j)},[j]);return{selectedValue:s,selectValue:(0,t.useCallback)(e=>{if(!p({value:e,tabValues:a}))throw new Error(`Can't select invalid tab value=${e}`);o(e),c(e),x(e)},[c,x,a]),tabValues:a}}var j=r(92303);const f={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var b=r(74848);function g({className:e,block:n,selectedValue:r,selectValue:t,tabValues:a}){const o=[],{blockElementScrollPositionUntilNextRender:l}=(0,s.a_)(),d=e=>{const n=e.currentTarget,i=o.indexOf(n),s=a[i].value;s!==r&&(l(n),t(s))},c=e=>{let n=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const r=o.indexOf(e.currentTarget)+1;n=o[r]??o[0];break}case"ArrowLeft":{const r=o.indexOf(e.currentTarget)-1;n=o[r]??o[o.length-1];break}}n?.focus()};return(0,b.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,i.A)("tabs",{"tabs--block":n},e),children:a.map(({value:e,label:n,attributes:t})=>(0,b.jsx)("li",{role:"tab",tabIndex:r===e?0:-1,"aria-selected":r===e,ref:e=>{o.push(e)},onKeyDown:c,onClick:d,...t,className:(0,i.A)("tabs__item",f.tabItem,t?.className,{"tabs__item--active":r===e}),children:n??e},e))})}function w({lazy:e,children:n,selectedValue:r}){const a=(Array.isArray(n)?n:[n]).filter(Boolean);if(e){const e=a.find(e=>e.props.value===r);return e?(0,t.cloneElement)(e,{className:(0,i.A)("margin-top--md",e.props.className)}):null}return(0,b.jsx)("div",{className:"margin-top--md",children:a.map((e,n)=>(0,t.cloneElement)(e,{key:n,hidden:e.props.value!==r}))})}function T(e){const n=x(e);return(0,b.jsxs)("div",{className:(0,i.A)(a.G.tabs.container,"tabs-container",f.tabList),
1children:[(0,b.jsx)(g,{...n,...e}),(0,b.jsx)(w,{...n,...e})]})}function y(e){const n=(0,j.A)();return(0,b.jsx)(T,{...e,children:h(e.children)},String(n))}},19365:(e,n,r)=>{r.d(n,{A:()=>s});r(96540);var t=r(34164);const i={tabItem:"tabItem_Ymn6"};var a=r(74848);function s({children:e,hidden:n,className:r}){return(0,a.jsx)("div",{role:"tabpanel",className:(0,t.A)(i.tabItem,r),hidden:n,children:e})}},28453:(e,n,r)=>{r.d(n,{R:()=>s,x:()=>o});var t=r(96540);const i={},a=t.createContext(i);function s(e){const n=t.useContext(a);return t.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),t.createElement(a.Provider,{value:n},e.children)}},54823:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>c,contentTitle:()=>d,default:()=>m,frontMatter:()=>l,metadata:()=>t,toc:()=>u});const t=JSON.parse('{"id":"get-involved/run-node/paratime-node","title":"ParaTime Node","description":"This guide provides an overview of the requirements to become a compute node for","source":"@site/docs/get-involved/run-node/paratime-node.mdx","sourceDirName":"get-involved/run-node","slug":"/get-involved/run-node/paratime-node","permalink":"/get-involved/run-node/paratime-node","draft":false,"unlisted":false,"editUrl":"https://github.com/oasisprotocol/docs/edit/main/docs/get-involved/run-node/paratime-node.mdx","tags":[],"version":"current","lastUpdatedAt":1758007663000,"frontMatter":{"sidebar_custom_props":{}},"sidebar":"getInvolved","previous":{"title":"Consensus Validator Node","permalink":"/get-involved/run-node/validator-node"},"next":{"title":"Develop Oasis Core","permalink":"/get-involved/oasis-core"}}');var i=r(74848),a=r(28453),s=r(11470),o=r(19365);const l={sidebar_custom_props:{tags:void 0}},d="ParaTime Node",c={},u=[{value:"About Oasis Network",id:"about-oasis-network",level:2},{value:"Operating ParaTimes",id:"operating-paratimes",level:2},{value:"Sapphire ParaTime",id:"sapphire-paratime",level:3},{value:"Overview",id:"overview",level:3},{value:"Features",id:"features",level:3},{value:"Mainnet Requirements",id:"mainnet-requirements",level:3},{value:"Cipher ParaTime",id:"cipher-paratime",level:3},{value:"Overview",id:"overview-1",level:3},{value:"Features",id:"features-1",level:3},{value:"Mainnet Requirements",id:"mainnet-requirements-1",level:3},{value:"Emerald ParaTime",id:"emerald-paratime",level:3},{value:"Overview",id:"overview-2",level:3},{value:"Features",id:"features-2",level:3},{value:"Mainnet Requirements",id:"mainnet-requirements-2",level:3}];function h(e){const n={a:"a",h1:"h1",h2:"h2",h3:"h3",header:"header",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,a.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.header,{children:(0,i.jsx)(n.h1,{id:"paratime-node",children:"ParaTime Node"})}),"\n",(0,i.jsx)(n.p,{children:"This guide provides an overview of the requirements to become a compute node for\na ParaTime connected to the Oasis Network."}),"\n",(0,i.jsx)(n.h2,{id:"about-oasis-network",children:"About Oasis Network"}),"\n",(0,i.jsx)(n.p,{children:"The Oasis Network has two main components, the consensus layer and the ParaTime\nLayer."}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:["The ",(0,i.jsx)(n.strong,{children:"consensus layer"})," is a scalable, high-throughput, secure,\nproof-of-stake consensus run by a decentralized set of validator nodes."]}),"\n",(0,i.jsxs)(n.li,{children:["The ",(0,i.jsx)(n.strong,{children:"ParaTime layer"})," hosts many parallel runtimes (ParaTimes), each\nrepresenting a replicated compute environment with shared state."]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Oasis architectural design including ParaTime and consensus layers",src:r(95688).A+""})}),"\n",(0,i.jsx)(n.h2,{id:"operating-paratimes",children:"Operating ParaTimes"}),"\n",(0,i.jsx)(n.p,{children:"Operating a ParaTime requires the participation of node operators who\ncontribute nodes to the committee in exchange for rewards.\nParaTimes can be operated by anyone, and have their own reward system,\nparticipation requirements, and structure."}
1),"\n",(0,i.jsxs)(n.p,{children:["As a node operator you can participate in any number of ParaTimes.\nWhile there are a number of ParaTimes under development, below are a few key\nParaTimes that you can get involved in today.\nFor operational documentation on running a ParaTime, please see the section on\n",(0,i.jsx)(n.a,{href:"/node/run-your-node/paratime-node",children:"running a ParaTime node for node operators"}),"."]}),"\n",(0,i.jsxs)(s.A,{children:[(0,i.jsxs)(o.A,{value:"Sapphire ParaTime",children:[(0,i.jsx)(n.h3,{id:"sapphire-paratime",children:"Sapphire ParaTime"}),(0,i.jsx)(n.p,{children:"A confidential EVM-compatible Oasis Foundation developed ParaTime that enables\nthe use of EVM smart contracts on the Oasis network."}),(0,i.jsx)(n.h3,{id:"overview",children:"Overview"}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Leading Developer:"})," ",(0,i.jsx)(n.a,{href:"http://oasis.net",children:"Oasis"}),", with contributions from\ncommunity developers"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Status:"})," Deployed on Mainnet and Testnet"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Testnet Launch Date:"})," July 2022"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Mainnet Launch Date:"})," Dec 2022"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Discord Channel:"})," ",(0,i.jsx)(n.a,{href:"/get-involved/",children:"#node-operators"})]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Requires SGX:"})," Yes"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Parameters:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/node/network/mainnet#sapphire",children:"Mainnet"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/node/network/testnet#sapphire",children:"Testnet"})}),"\n"]}),"\n"]}),"\n"]}),(0,i.jsx)(n.h3,{id:"features",children:"Features"}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Fully decentralized with node operators distributed across the world."}),"\n",(0,i.jsxs)(n.li,{children:["Oasis ",(0,i.jsx)(n.strong,{children:"ROSE"})," tokens are the native token used in the ParaTime for gas fees."]}),"\n",(0,i.jsx)(n.li,{children:"Support for EVM smart contracts."}),"\n",(0,i.jsx)(n.li,{children:"Support for confidential compute."}),"\n"]}),(0,i.jsx)(n.h3,{id:"mainnet-requirements",children:"Mainnet Requirements"}),(0,i.jsx)(n.p,{children:"For your Sapphire ParaTime node to be eligible to be elected into the Sapphire\ncommittee on Mainnet, your entity needs to:"}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Have a validator in the ",(0,i.jsx)(n.strong,{children:"validator set"}),"."]}),"\n",(0,i.jsxs)(n.li,{children:["Have at least ",(0,i.jsx)(n.strong,{children:"5,000,000.00 ROSE staked/delegated"})," to it."]}),"\n"]})]}),(0,i.jsxs)(o.A,{value:"Cipher ParaTime",children:[(0,i.jsx)(n.h3,{id:"cipher-paratime",children:"Cipher ParaTime"}),(0,i.jsx)(n.p,{children:"An Oasis Foundation developed ParaTime that enables WebAssembly-based\nconfidential smart contracts."}),(0,i.jsx)(n.h3,{id:"overview-1",children:"Overview"}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Leading Developer:"})," ",(0,i.jsx)(n.a,{href:"http://oasis.net",children:"Oasis"}),", with contributions from\ncommunity developers"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Status:"})," Deployed on Mainnet and Testnet"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Testnet Launch Date:"})," June 2021"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Mainnet Launch Date:"})," October 2021"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Discord Channel:"})," ",(0,i.jsx)(n.a,{href:"/get-involved/",children:"#node-operators"})]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Requires SGX:"})," Yes"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Parameters:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/node/network/mainnet#cipher",children:"Mainnet"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/node/network/testnet#cipher",children:"Testnet"})}),"\n"]}),"\n"]}),"\n"]}),(0,i.jsx)(n.h3,{id:"features-1",children:"Features"}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Fully decentralized with node operators distributed across the world."}),"\n",(0,i.jsxs)(n.li,{children:["Oasis ",(0,i.jsx)(n.strong,{children:"ROSE"})," tokens are the native token used in the ParaTime for gas fees."]}),"\n",(0,i.jsx)(n.li,{children:"Support for WebAssembly smart contracts."}),"\n",(0,i.jsx)(n.li,{children:"Support for confidential compute."}),"\n"]}),(0,i.jsx)(n.h3,{id:"mainnet-requirements-1",children:"Mainnet Requirements"}),(0,i.jsx)(n.p,{children:"For your Cipher ParaTime node to be eligible to be elected into the Cipher\ncommittee on Mainnet, your entity needs to:"}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Have a validator in the ",(0,i.jsx)(n.strong,{children:"val
1idator set"}),"."]}),"\n"]})]}),(0,i.jsxs)(o.A,{value:"Emerald ParaTime",children:[(0,i.jsx)(n.h3,{id:"emerald-paratime",children:"Emerald ParaTime"}),(0,i.jsx)(n.p,{children:"An EVM-compatible Oasis Foundation developed ParaTime that enables the use of\nEVM smart contracts on the Oasis network."}),(0,i.jsx)(n.h3,{id:"overview-2",children:"Overview"}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Leading Developer:"})," ",(0,i.jsx)(n.a,{href:"http://oasis.net",children:"Oasis"}),", with contributions from\ncommunity developers"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Status:"})," Deployed on Mainnet and Testnet"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Testnet Launch Date:"})," October 2021"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Mainnet Launch Date:"})," November 2021"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Discord Channel:"})," ",(0,i.jsx)(n.a,{href:"/get-involved/",children:"#node-operators"})]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Requires SGX:"})," No"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Parameters:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/node/network/mainnet#emerald",children:"Mainnet"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/node/network/testnet#emerald",children:"Testnet"})}),"\n"]}),"\n"]}),"\n"]}),(0,i.jsx)(n.h3,{id:"features-2",children:"Features"}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Fully decentralized with node operators distributed across the world."}),"\n",(0,i.jsxs)(n.li,{children:["Oasis ",(0,i.jsx)(n.strong,{children:"ROSE"})," tokens are the native token used in the ParaTime for gas fees."]}),"\n"]}),(0,i.jsx)(n.h3,{id:"mainnet-requirements-2",children:"Mainnet Requirements"}),(0,i.jsx)(n.p,{children:"For your Emerald ParaTime node to be eligible to be elected into the Emerald\ncommittee on Mainnet, your entity needs to:"}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Have a validator in the ",(0,i.jsx)(n.strong,{children:"validator set"}),"."]}),"\n",(0,i.jsxs)(n.li,{children:["Have at least ",(0,i.jsx)(n.strong,{children:"5,000,000.00 ROSE staked/delegated"})," to it."]}),"\n"]})]})]})]})}function m(e={}){const{wrapper:n}={...(0,a.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}},95688:(e,n,r)=>{r.d(n,{A:()=>t});const t=r.p+"assets/images/technology_scalability-fb1eb6a27b20966580149670e15f2b03.svg"}}]);
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.