From ff3525307bf4dfcc78c3d291af82aa7a28ea28b4 Mon Sep 17 00:00:00 2001 From: forcodedancing Date: Sun, 7 Apr 2024 14:03:29 +0800 Subject: [PATCH] docs: refine the document for creating validators (#297) --- docs/assets/bcfusion/create-validator0.png | Bin 0 -> 55745 bytes docs/bcfusion/validators/creation.md | 109 ++++++++++++++++----- 2 files changed, 84 insertions(+), 25 deletions(-) create mode 100644 docs/assets/bcfusion/create-validator0.png diff --git a/docs/assets/bcfusion/create-validator0.png b/docs/assets/bcfusion/create-validator0.png new file mode 100644 index 0000000000000000000000000000000000000000..18baee356c7ea28291da8c744556b34c9433c188 GIT binary patch literal 55745 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 d0f&eB za%at30epoORXmkwBt)9!K`o7Evcz7K2O0&N-__zjd~Y|5>3-R`o9f`qQP*#t;TfH0 zY=C2D@xlqingpB!Xn(f=%7`DPxh6$e~vMhjjX+j2CH>ADDRXOSFe% zKLa{kbV>MK_CdkPI*O3GbRtnL?6BtZuHfRzCBvGyG#yUpEFsLWJ<~X3@+7x8)I~@Z z%J5f2HzBbKDUE)_^DtZ0LPyixy>Ko~ zrVojfBFPL~YQ;mfzycTTRh6~0%!g~#3d-3%1O>E85B4qr^yH7g6 zT-5b#f)EWZF3+0R!}+tJ4P!lm1-FCaYj;)iA}C&7FKq)GpO3Inf6UE=wq?%}8$4$u zc$(RXDC%gYW#8M?_$BWF7koKkQzxxUR2`+D#C3e#;Y&5Qg3jy|Z|atVvS>FdP|H$A|L7Zexm|dxta5}bgpQPj%jHw&W2VfkjoL2Fs&?vp=b>PEejq+V z-FI7~hxtfB`o>o73e;eGeOTgeD^Sg*>2Ko8c<{^e3R6?egPz7_%9Vslzqm!SL%59E z3a%N-=}U5A{=ILOGnbiu69h1og!z`dZwEui#JvC~;>LAEm% z#bdD9bEmvouc+?XW3$pvFKp~R_j!kvQ3V-*>sDh~+68}n@+AxVtxN)#&Zv(oYt%Lt zRTxyKhcO;8#9v+}g$SRxM9iK|gzzq)lFLH8_~jc^Z=ZhapVyyG7C!7v#6!!F4^ZiL zb`d_&zFm~yyjY}oM>T2vcgd`xcyUu%HN;@8R~*3-+#x0K(<{hlcnM^UE7tG4cK)69 zuCpQ&+rV}uZOFEIK>e0wT&8m!OQ#c3Uee@v0Z~rK&O*F&E(fd~a(TAU*}x(ov~CFY zs^ZOMONMg~ioH)>)%H`~UhT;*EZbh=)P)wSwq1E})^ix1y2xlqy1MVa7eo0 zO55cXDs$!6qxCuQ{KfVpsH7~M1{B%`ygt8>=5@m!8u!*sLQanKzj@V59b zKe%oGQso2h7ZhReEF+qf*1bQIVh)z@EhfA_<&A)ouAB2ww z7&_)WCCb*r;F`4QH5xOv#T85ywqpyWqCb4;3Zn2OCx%d_utcmsJvkK?P-p*Du{Up` zl83rhC0+e+m*sr2cKPt{n3Gf*6pc10Oa;||lNbJK_#Ztc+v*0M`#~8%Q zq%m&%cuFH(@qkVK);dkZN+5kgwO$Jos$M+FiB07b$*+ALF-W6~H#J*Tc4MIWtzBmm zT*8OUIW#MSMw+chMM}@tjCLpmyZFjWV0ws{^&xHvZfze)Rdcd^a+p@+Df`%? z^wZUu&ln!o$d+p^?XFQX|Jn<$TehTOBeseTo2)R$l0JCc2<_`$(O>YE0X>NC0I#5| ziDt+IjR)awhB+fYkrI#P)ifEpP6c1Y4aQXfAxG|qMbHpyhy$_32`$ibsB?6~b`NhD zZzqdA#sztfBGTvxRb6FXe1e-|GQe8bITU*6sEdECIr3w(FVX6p5q6^WQQdi_8mO%v z@E*)+*ezPnGxjH$twzDz^=`9+YXl>4${aGu#dnT*p{-FCiCnUQR2Wmyf0jj-vmWq1lfPNnlL0NLb!@*AeOuMuQfwv!j zqLLH%#Rvd%b9eGNcs|weG4zk==2nASbLPcPg&cG zOxs`T%TCPE-O$)f?b7y_Lk7`_z6Y;=$sX@|E*8`yj>D)U_wM~ND{U}Bt&^|nzRD^9 zYF_ncrssVY3dTcVvk!@Qy?ADVHsg!(VY_7PPakav;@H0dvIaZfS7QiRNeP0 z`Qp$f_~pwi;6gvWejU&$65QkQ2P5!e#+=hkngj!Vym#Zppu!3LK1Am$uDO|QP}7&d zruV6F$aO@5JL+?JP1PmL+Bv#|3;Bu1bmN-eOIsZx=^Hp&`4lJUU(kaSrFR=FLre9j56V6O z!5hq52jY@hVkWWTb*i`M?45G^Ysdp&A z%xZLKms6yG^Y!8*;BAvYZuYPWB(19|a((T>h&=YpIT9-f)T!T~?R41B3|`9Tep5>< zj)_f7Hwn4GJ}NAP!4S{CTzacko?eUHt*irHBzVz7dX&Q>yEYq%9GjZ1zKw@&41IH_ zrY<{bIYTmxM`bMRb3WV)KC$6K%PK=cyORqn5+R~*;C2XK*-koM^5f^&=Cfa+GyIFf zRKugz71Hrwh^A{`5y3o5A#bXKXSxR?CG}7=j@Sp%ESDDuk1a+j4hNG;~?@Ec0|8Z)5S4h ztCzubKlSPmz3*{)+bWkSZ$B@IcCb(%oG|42e9r%-b$6FxTsM-p!DeLW0)LtZpNrGa zwQ70?9(SmEeOE4fvK<3g20YoQRu}Uy}cLgAeF8 z&7c|jT@G6)>jGcOAvzeuFn#KRJ^&p`Ws_ zlt0+{4{OnFua{-6OrBZ;SAFsAlKUwOm)!o(OD2FOLQWoSl=s`RFesODXC5HKp|}1C z#2#8JQ}tV$VmG~e)xs#(ee1xW4~6>h|Iz+NbXm zjLt7Zx|wF^7O3F4>i`7&^q&{~m%{xSj0ThQzqs-b>H@F@{+H|i(Mj?D9lG`!mwW#5 z<);FrADMy$#8zH2>EXkj!4-z`!FM5QMzyQrZzOM!TP2qb=+*{2n&Z#X?(X^ zoWl6T=uDJ*G}Y-4L*hg$K|?DpR#jay)ymZ#DwD- zNy(2iJv?%oe6}>&gF{O#ilHn1;R&q>)@R8a9=bxsde_L}yq?B{!|9dVFUtK$wH?yC z88i&d`<9sS>C@?2-96r(oHZjGf8@~=@Y@>SEi38x9+wauacCtdfy7^P)v&nr z^S|oKUe*&_y}OERnX?FQ@RU#pf!y%eykq@r*weiK02kkyIcF9_X!scBad*U2m*tyf z7q~qLSKRpcs@ctLcR#JtV%d+SyIpkq9BNEDaoR+pzvsP1dkeHjRnaN*UxYIlG z>~U}658kQYprC&#-v7yi_!pY~7n=S7IQ^GV|5p<5BM1Kfl>%eFN(y-)17avP4RG|f z9!ANETZ>b-D=UIfy$jo*)uKjPm#?i>5d$zfnc{}_N5u&(l zR8E$~X}JH>smEkwRDLIKKN|Vp-`;dNT0M_U`RP=}RkAF_4y7NnL}cd{FBX*-10CWI zr~Y=dI)+93Z!XC~(8fl^f-3B;pH98Kc(MLFr1=kL$}FymjFbxYuKasU3x8wVdc^|u zGOeG+KfP?}u%FwhpH6)i87W`r{A2z{WVP-#*9arapHBV1zIFR5a}tdcinNkJFvy}) M=2pjv$6RmyAE4wpB>(^b literal 0 HcmV?d00001 diff --git a/docs/bcfusion/validators/creation.md b/docs/bcfusion/validators/creation.md index f8dfa3e661..9b6c53f398 100644 --- a/docs/bcfusion/validators/creation.md +++ b/docs/bcfusion/validators/creation.md @@ -1,3 +1,4 @@ +import Validator0 from '../../assets/bcfusion/create-validator0.png'; import Validator1 from '../../assets/bcfusion/create-validator1.png'; import Validator2 from '../../assets/bcfusion/create-validator2.png'; import Validator3 from '../../assets/bcfusion/create-validator3.png'; @@ -5,20 +6,47 @@ import Validator4 from '../../assets/bcfusion/create-validator4.png'; # Validator Creation Guide -This guide outlines the process for creating a new validator on the BNB Smart Chain. If you're migrating validators -from the Beacon Chain to BSC, please pay attention to the instruction for setting the `identity` field correctly. - -To create a validator, access the BNB staking dApp: +This guide outlines the process for creating a new validator on the BNB Smart Chain (BSC). +The BNB staking dApp is the official tool for creating and managing validators on the BSC. - **Testnet **: [https://testnet-staking.bnbchain.org/en/bnb-staking](https://testnet-staking.bnbchain.org/en/bnb-staking) - **Mainnet**: *To be announced* -Navigate to the dApp and select the `Become a Validator` button to initiate the creation process. +## Terminology + +- **Operator Address**: The address for creating and modifying validator information on the BSC. You should use this + address when connecting to the staking dApp. The corresponding account should have more than 2001 BNB for creating + validtors and paying transaction fees. +- **Consensus Address**: A unique address for your validator's node. It is used for consensus engine when mining new + blocks. It should be different from the operator address. If you have an existing validator created on the Beacon + Chain, the old consensus adddress cannot be reused and you should create a new one. +- **Vote Address**: An address used for fast finality voting. If you have an existing validator created on the Beacon + Chain, the old vote adddress cannot be reused and you should create a new one. +- **BLS Proof**: A BLS signature verifying ownership of the vote address. +- **Identity**: For associating a new validator with an existing one from the Beacon Chain. It is useful when delegators + [migrate their stakes](../users/stake-migration.md) - they can know there is a new validator running by the same + validator operator. This is optional unless you're migrating an old validator. + +## Steps + +### 1. Connecting to the dApp + +Please connect to the staking dApp using your **Operator Address**. `Trust Wallet`, `MetaMask`, and `WalletConnect` +options are available for the step. Make sure that the account has more than 2001 BNB before moving on to the next step. + + + +### 2. Filling out the form + +Navigate to the dApp and select the `Become a Validator` button in the right middle of the page +to initiate the creation process. -## Basic Information +The following information is required to create a validator. - +### Basic Information + + You'll need to provide the following details on the `Create Validator` page: @@ -30,9 +58,9 @@ To enhance your validator's visibility, consider uploading additional informatio the [BSC validator directory](https://github.com/bnb-chain/bsc-validator-directory). Your avatar, once uploaded, will be displayed in the staking dApp. -## Addresses +### Addresses - + The following addresses are required: @@ -42,30 +70,56 @@ The following addresses are required: - **Identity**: For associating a new validator with an existing one from the Beacon Chain. This is optional unless you're migrating an old validator. -### Generating Vote Address and BLS Proof +#### Generate Consensus Address Download the BSC geth binary from [the official release page](https://github.com/bnb-chain/bsc/releases/tag/v1.3.10). Note: Make sure you are downloading the correct binary based on your machine's platform, e.g., if you are using MacOS, you should download the `geth_mac` file. In the following, we will refer the binary as `geth` for simplicity. +To create a new account for mining, please use the following command and set a password for the account. + +```shell +geth account new --datadir ${DATA_DIR} +``` + +- `DATA_DIR`: The directory where you want to store your key store files. + +This command will return the public address (i.e. consensus address) and the path to your private key. +Please backup the key file! + +An example consensus address is `0x4b3FFeDb3470D441448BF18310cAd868Cf0F44B5`. + +If you already have an account for mining, you can use the seed phrase to recover the account. + +```shell +geth account import --datadir ${DATA_DIR} +``` + +If you have created a validator on the Beacon Chain, please use a different one for the consensus address. + +#### Generate Vote Address and BLS Proof + To create a new BLS account please use the following command. ```shell - geth bls account new - geth bls account import + geth bls account new --datadir ${DATA_DIR} ``` +- `DATA_DIR`: The directory where you want to store your key store files. + If you already have a voting key, create a bls wallet and use the keyfile to recover it, using the following command. ```shell - geth bls account import + geth bls account import ${KEY_FILE} --datadir ${DATA_DIR} ``` +- `DATA_DIR`: The backup file for restoring the BLS account. + Then you can get your vote address by running the following command. ```shell -geth bls account list +geth bls account list --datadir ${DATA_DIR} ``` An example address @@ -77,14 +131,14 @@ Then you can get your bls proof by running the following command. geth bls account generate-proof --chain-id ${BSC_CHAIN_ID} ${OPEATOR_ADDRESS} ${VOTE_ADDRESS} ``` -An example proof -is `0xaf762123d031984f5a7ae5d46b98208ca31293919570f51ae2f0a03069c5e8d6d47b775faba94d88dbbe591c51c537d718a743b9069e63b698ba1ae15d9f6bf7018684b0a860a46c812716117a59c364e841596c3f0a484ae40a1178130b76a5`. - - `BSC_CHAIN_ID`: `56` for BSC mainnet, and `97` for BSC testnet. - `OPEATOR_ADDRESS`: The address of your account, which will be reconginzed as the operator of the new validator. - `VOTE_ADDRESS`: The vote address created in the last step. -### Create indentity +An example proof +is `0xaf762123d031984f5a7ae5d46b98208ca31293919570f51ae2f0a03069c5e8d6d47b775faba94d88dbbe591c51c537d718a743b9069e63b698ba1ae15d9f6bf7018684b0a860a46c812716117a59c364e841596c3f0a484ae40a1178130b76a5`. + +#### Create indentity Identity is used for assocaiting the new validator to the old validator created on the Beacon Chain, to facilitate delegators moving their stakes to the same validator operator when [migrations](../users/stake-migration.md). @@ -97,7 +151,7 @@ Note: Make sure you are downloading the correct binary based on your machine's p you should download the `macos_binary.zip` file, and after unzip it your will find `bnbcli` (for mainet) and `tbnbcli`(for testnet). In the following, we will refer the binary as `bnbcli` for simplicity. -#### Local Key +##### Local Key ```shell ${workspace}/bin/bnbcli \ @@ -108,7 +162,7 @@ ${workspace}/bin/bnbcli \ --chain-id ${BC_CHAIN_ID} \ ``` -#### Ledger Key +##### Ledger Key ```shell ${workspace}/bin/bnbcli \ @@ -143,17 +197,22 @@ PubKey: 0x021afe2e504c2e08941643fbe6422e256d581ebb13cb7f4678e755f886934440cd The `Signature` is your `identity` for associating to the old validator created on the Beacon Chain. -## Commissions +### Commissions - + - **Rate**: The commission rate of the validator. - **Max Rate**: The maximum commission rate that the validator can set. - **Max Change Rate**: The maximum rate change the validator can set to every epoch (1 day). -## Self-delegation +### Self-delegation - + - **Self Delegate Amount**: The amnout to delegate when creating the validator. The minimal number to input is `2001` - - for the minimal self delegation amount is 2000 BNB and extra 1 BNB for locking to a dead address. \ No newline at end of file + for the minimal self delegation amount is 2000 BNB and extra 1 BNB for locking to a dead address. + +### 3. Submitting the form + +Once you have filled out all the required information, click the `Submit` button to submit the transaction. +