canine-docs/assets/js/ebbc57e7.cf14015f.js
github-actions[bot] d3d31375db deploy: c2ae341971
2023-04-27 14:38:14 +00:00

1 line
7.4 KiB
JavaScript

"use strict";(self.webpackChunkcanine_docs=self.webpackChunkcanine_docs||[]).push([[4808],{3905:(e,n,t)=>{t.d(n,{Zo:()=>p,kt:()=>g});var a=t(7294);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function o(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function i(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?o(Object(t),!0).forEach((function(n){r(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):o(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function l(e,n){if(null==e)return{};var t,a,r=function(e,n){if(null==e)return{};var t,a,r={},o=Object.keys(e);for(a=0;a<o.length;a++)t=o[a],n.indexOf(t)>=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a<o.length;a++)t=o[a],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var s=a.createContext({}),c=function(e){var n=a.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},p=function(e){var n=c(e.components);return a.createElement(s.Provider,{value:n},e.children)},d="mdxType",u={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},m=a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,o=e.originalType,s=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),d=c(t),m=r,g=d["".concat(s,".").concat(m)]||d[m]||u[m]||o;return t?a.createElement(g,i(i({ref:n},p),{},{components:t})):a.createElement(g,i({ref:n},p))}));function g(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var o=t.length,i=new Array(o);i[0]=m;var l={};for(var s in n)hasOwnProperty.call(n,s)&&(l[s]=n[s]);l.originalType=e,l[d]="string"==typeof e?e:r,i[1]=l;for(var c=2;c<o;c++)i[c]=t[c];return a.createElement.apply(null,i)}return a.createElement.apply(null,t)}m.displayName="MDXCreateElement"},5183:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>i,default:()=>u,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var a=t(7462),r=(t(7294),t(3905));const o={sidebar_position:1},i="Creating Validator",l={unversionedId:"nodes/validators/joining",id:"nodes/validators/joining",title:"Creating Validator",description:"This guide assumes you are using the same machine as the full node.",source:"@site/docs/nodes/validators/1_joining.md",sourceDirName:"nodes/validators",slug:"/nodes/validators/joining",permalink:"/docs/nodes/validators/joining",draft:!1,editUrl:"https://github.com/JackalLabs/canine-docs/blob/master/docs/nodes/validators/1_joining.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Joining Mainnet",permalink:"/docs/nodes/nodes/mainnet"},next:{title:"Creating Provider",permalink:"/docs/nodes/providers/building"}},s={},c=[{value:"Creating A Wallet",id:"creating-a-wallet",level:2},{value:"Setting Up",id:"setting-up",level:2},{value:"Configure Gas Prices",id:"configure-gas-prices",level:3},{value:"Create Your Validator",id:"create-your-validator",level:3}],p={toc:c},d="wrapper";function u(e){let{components:n,...t}=e;return(0,r.kt)(d,(0,a.Z)({},p,t,{components:n,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"creating-validator"},"Creating Validator"),(0,r.kt)("admonition",{type:"tip"},(0,r.kt)("p",{parentName:"admonition"},"This guide assumes you are using the same machine as the full node."),(0,r.kt)("p",{parentName:"admonition"},"Perform the following steps as your ",(0,r.kt)("inlineCode",{parentName:"p"},"jackal")," user.")),(0,r.kt)("h2",{id:"creating-a-wallet"},"Creating A Wallet"),(0,r.kt)("p",null,"We need to create a wallet and set the keyring password."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-sh"},"canined keys add WALLET_NAME --keyring-backend os\n")),(0,r.kt)("p",null,"This wallet is used to claim rewards, commission and to vote as your validator."),(0,r.kt)("p",null,"You will see a similar output once created."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'- name: WALLET_NAME\n type: local\n address: jkl1hjhglrzggqtdhsh3ag8jp0cckmva5pe976jxel\n pubkey: \'{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"Rnrlv1TNrt1cz3+pSq2UDNiJQZINNlgtkNousVlkugZ7"}\'\n mnemonic: ""\n\n\n**Important** write this mnemonic phrase in a safe place.\nIt is the only way to recover your account if you ever forget your password.\n\nsome words forming mnemonic seed will be placed here you have to write them down and keep them safe\n')),(0,r.kt)("p",null,"Besure to back up the seed phrase of your validator wallet. It's also recommened to keep an offline copy along with your key files. Remember, your key files cannot be restored and ",(0,r.kt)("strong",{parentName:"p"},(0,r.kt)("em",{parentName:"strong"},"must"))," be backed up. See the installation page for instructions."),(0,r.kt)("p",null,"You should also backup your keyring files."),(0,r.kt)("p",null,"Change ",(0,r.kt)("inlineCode",{parentName:"p"},"WALLET_NAME")," to the name of your wallet."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-sh"},"mkdir ~/keyring_backup\ncp ~/.canine/WALLET_NAME.info ~/keyring_backup\ncp ~/.canine/keyhash ~/keyring_backup\n")),(0,r.kt)("h2",{id:"setting-up"},"Setting Up"),(0,r.kt)("h3",{id:"configure-gas-prices"},"Configure Gas Prices"),(0,r.kt)("p",null,"As a validator, you'll need to set a minimum gas price like so:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-sh"},'GAS="0.02ujkl"\nsed -i.bak -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \\"$GAS\\"/" $HOME/.canine/config/app.toml\n')),(0,r.kt)("h3",{id:"create-your-validator"},"Create Your Validator"),(0,r.kt)("p",null,"Before continuing, please note that ",(0,r.kt)("inlineCode",{parentName:"p"},"commission-max-change")," and ",(0,r.kt)("inlineCode",{parentName:"p"},"commission-max-rate")," cannot be changed once you set them. Your ",(0,r.kt)("inlineCode",{parentName:"p"},"commission-rate")," may be changed once per day."),(0,r.kt)("p",null,"There are a few things you will need to alter in this command. ",(0,r.kt)("inlineCode",{parentName:"p"},"amount")," needs to be changed to what you are starting your self bond as. ",(0,r.kt)("inlineCode",{parentName:"p"},"from")," needs to be the name of your wallet you created earlier. The ",(0,r.kt)("inlineCode",{parentName:"p"},"moniker"),", ",(0,r.kt)("inlineCode",{parentName:"p"},"details"),", ",(0,r.kt)("inlineCode",{parentName:"p"},"identity"),", ",(0,r.kt)("inlineCode",{parentName:"p"},"website"),", and ",(0,r.kt)("inlineCode",{parentName:"p"},"security-contact")," should all be filled with the appropiate information."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-sh"},'canined tx staking create-validator \\\n --amount 1000000ujkl \\\n --commission-max-change-rate 0.10 \\\n --commission-max-rate 0.2 \\\n --commission-rate 0.1 \\\n --from WALLET_NAME \\\n --min-self-delegation 1 \\\n --moniker "YOUR_MONIKER" \\\n --details="YOUR DETAILS" \\\n --identity "PGP IDENTITY" \\\n --website="https://example.com" \\\n --security-contact="your-email@email.com" \\\n --pubkey $(canined tendermint show-validator) \\\n --chain-id jackal-1 \\\n --gas-prices 0.02ujkl\n')))}u.isMDXComponent=!0}}]);