diff --git a/.github/workflows/azure-static-web-apps-black-tree-0e961eb10.yml b/.github/workflows/azure-static-web-apps-black-tree-0e961eb10.yml deleted file mode 100644 index 3d97b3c..0000000 --- a/.github/workflows/azure-static-web-apps-black-tree-0e961eb10.yml +++ /dev/null @@ -1,45 +0,0 @@ -name: Azure Static Web Apps CI/CD - -on: - push: - branches: - - master - pull_request: - types: [opened, synchronize, reopened, closed] - branches: - - master - -jobs: - build_and_deploy_job: - if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.action != 'closed') - runs-on: ubuntu-latest - name: Build and Deploy Job - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Build And Deploy - id: builddeploy - uses: Azure/static-web-apps-deploy@v1 - with: - azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_BLACK_TREE_0E961EB10 }} - repo_token: ${{ secrets.GITHUB_TOKEN }} # Used for Github integrations (i.e. PR comments) - action: "upload" - ###### Repository/Build Configurations - These values can be configured to match your app requirements. ###### - # For more information regarding Static Web App workflow configurations, please visit: https://aka.ms/swaworkflowconfig - app_location: "/" # App source code path - api_location: "" # Api source code path - optional - output_location: "" # Built app content directory - optional - ###### End of Repository/Build Configurations ###### - - close_pull_request_job: - if: github.event_name == 'pull_request' && github.event.action == 'closed' - runs-on: ubuntu-latest - name: Close Pull Request Job - steps: - - name: Close Pull Request - id: closepullrequest - uses: Azure/static-web-apps-deploy@v1 - with: - azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_BLACK_TREE_0E961EB10 }} - action: "close" diff --git a/.github/workflows/azure-static-web-apps-lemon-ground-008bf5910.yml b/.github/workflows/azure-static-web-apps-lemon-ground-008bf5910.yml deleted file mode 100644 index 1d44cc7..0000000 --- a/.github/workflows/azure-static-web-apps-lemon-ground-008bf5910.yml +++ /dev/null @@ -1,45 +0,0 @@ -name: Azure Static Web Apps CI/CD - -on: - push: - branches: - - master - pull_request: - types: [opened, synchronize, reopened, closed] - branches: - - master - -jobs: - build_and_deploy_job: - if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.action != 'closed') - runs-on: ubuntu-latest - name: Build and Deploy Job - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Build And Deploy - id: builddeploy - uses: Azure/static-web-apps-deploy@v1 - with: - azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_LEMON_GROUND_008BF5910 }} - repo_token: ${{ secrets.GITHUB_TOKEN }} # Used for Github integrations (i.e. PR comments) - action: "upload" - ###### Repository/Build Configurations - These values can be configured to match your app requirements. ###### - # For more information regarding Static Web App workflow configurations, please visit: https://aka.ms/swaworkflowconfig - app_location: "/" # App source code path - api_location: "" # Api source code path - optional - output_location: "" # Built app content directory - optional - ###### End of Repository/Build Configurations ###### - - close_pull_request_job: - if: github.event_name == 'pull_request' && github.event.action == 'closed' - runs-on: ubuntu-latest - name: Close Pull Request Job - steps: - - name: Close Pull Request - id: closepullrequest - uses: Azure/static-web-apps-deploy@v1 - with: - azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_LEMON_GROUND_008BF5910 }} - action: "close" diff --git a/.github/workflows/azure-static-web-apps-zealous-bay-0a3f1bd10.yml b/.github/workflows/azure-static-web-apps-zealous-bay-0a3f1bd10.yml deleted file mode 100644 index 087c6a2..0000000 --- a/.github/workflows/azure-static-web-apps-zealous-bay-0a3f1bd10.yml +++ /dev/null @@ -1,45 +0,0 @@ -name: Azure Static Web Apps CI/CD - -on: - push: - branches: - - master - pull_request: - types: [opened, synchronize, reopened, closed] - branches: - - master - -jobs: - build_and_deploy_job: - if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.action != 'closed') - runs-on: ubuntu-latest - name: Build and Deploy Job - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Build And Deploy - id: builddeploy - uses: Azure/static-web-apps-deploy@v1 - with: - azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_ZEALOUS_BAY_0A3F1BD10 }} - repo_token: ${{ secrets.GITHUB_TOKEN }} # Used for Github integrations (i.e. PR comments) - action: "upload" - ###### Repository/Build Configurations - These values can be configured to match your app requirements. ###### - # For more information regarding Static Web App workflow configurations, please visit: https://aka.ms/swaworkflowconfig - app_location: "Build" # App source code path - api_location: "" # Api source code path - optional - output_location: "" # Built app content directory - optional - ###### End of Repository/Build Configurations ###### - - close_pull_request_job: - if: github.event_name == 'pull_request' && github.event.action == 'closed' - runs-on: ubuntu-latest - name: Close Pull Request Job - steps: - - name: Close Pull Request - id: closepullrequest - uses: Azure/static-web-apps-deploy@v1 - with: - azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_ZEALOUS_BAY_0A3F1BD10 }} - action: "close" diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..5fc5f51 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,42 @@ +name: Deploy to GitHub Pages + +on: + push: + branches: + - master + # Review gh actions docs if you want to further define triggers, paths, etc + # https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#on + +jobs: + deploy: + name: Deploy to GitHub Pages + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-node@v3 + with: + node-version: 16.x + cache: yarn + + - name: Install dependencies + run: yarn install --frozen-lockfile + - name: Build website + run: yarn build + + # Popular action to deploy to GitHub Pages: + # Docs: https://github.com/peaceiris/actions-gh-pages#%EF%B8%8F-docusaurus + - name: Deploy to GitHub Pages + uses: peaceiris/actions-gh-pages@v3 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + # Build output to publish to the `gh-pages` branch: + publish_dir: ./build + #custom domain name + cname: docs.bnbchain.org + # The following lines assign commit authorship to the official + # GH-Actions bot for deploys to `gh-pages` branch: + # https://github.com/actions/checkout/issues/13#issuecomment-724415212 + # The GH actions bot is used by default if you didn't specify the two fields. + # You can swap them out with your own user credentials. + user_name: github-actions[bot] + user_email: 41898282+github-actions[bot]@users.noreply.github.com diff --git a/.github/workflows/test-deploy.yml b/.github/workflows/test-deploy.yml new file mode 100644 index 0000000..0c68e90 --- /dev/null +++ b/.github/workflows/test-deploy.yml @@ -0,0 +1,24 @@ +name: Test deployment + +on: + pull_request: + branches: + - master + # Review gh actions docs if you want to further define triggers, paths, etc + # https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#on + +jobs: + test-deploy: + name: Test deployment + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-node@v3 + with: + node-version: 16.x + cache: yarn + + - name: Install dependencies + run: yarn install --frozen-lockfile + - name: Test build website + run: yarn build diff --git a/CNAME b/CNAME new file mode 100644 index 0000000..8453503 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +docs.bnbchain.org diff --git a/README.md b/README.md index 2ce61e1..748f43c 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ -# Proposal for Revision of Binance Smart Chain Documentation +# BNB Chain Documentation ## Overview -This is a proposal for the revision of the Binance Smart Chain documentation for a better user experience and navigation. This website is built using [Docusaurus 2](https://docusaurus.io/), a modern static website generator. Navigation bar are updated providing a better division of topics and easier navigation for the users. Multiple files have been re-formatted and new files are also included. +This is the updated documentation for BNB Chain for a better user experience and navigation. This website is built using [Docusaurus 2](https://docusaurus.io/), a modern static website generator. Navigation bar are updated providing a better division of topics and easier navigation for the users. Multiple files have been re-formatted and new files are also included. ### Prerequisites - **Node** _version >= 14 or above_ @@ -29,6 +29,22 @@ Clone the reository and run the following commands. ### Local Development +Install the packages. + +Using `npm` + +``` +npm install +``` + +Using Yarn + +``` +$ yarn install +``` + +Start local development server + Using `npm` ``` @@ -44,6 +60,7 @@ $ yarn start This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server. ### Build +We recommend to use the yarn package for building and deploying this website. Using `npm` diff --git a/docs/BC-FAQs.md b/docs/BC-FAQs.md index d8cfe2a..1f7e5e2 100644 --- a/docs/BC-FAQs.md +++ b/docs/BC-FAQs.md @@ -4,12 +4,11 @@ sidebar_position: 2 hide_table_of_contents: true --- -# Beacon Chain FAQ +# Beacon Chain FAQs -### What is Beacon Chain , or Binance DEX? +### What is Beacon Chain and Binance DEX? -Beacon Chain is the blockchain initially developed by Binance and community. Binance DEX is the -decentralized exchange module developed on top of the Beacon Chain blockchain. +Beacon Chain is the blockchain initially developed by Binance and community. Binance DEX is the decentralized exchange module developed on top of the Beacon Chain blockchain. ### What is the design principle of Beacon Chain ? @@ -19,7 +18,7 @@ The main focuses for the design of Beacon Chain are: - High performance: low latency, high throughput for a large user base, and high liquidity trading. We target to achieve 1 second block times, with 1 confirmation finality. - Low cost: in both fees and liquidity cost. -- Easy user experience: as friendly as Binance.com. +- Easy user experience - Fair trading: minimize front-running, to the extent possible. - Evolvable: able to develop with forever-improving technology stack, architecture, and ideas. @@ -53,7 +52,7 @@ Beacon Chain native coins will be sent to their new wallets. ### How can I register on Beacon Chain /DEX and start trading? There is no need to register. All you need is a Beacon Chain address, which can be generated with -any [wallet](https://github.com/binance-chain/docs-site/blob/master/docs/wallets.md) that supports Beacon Chain . Then you can trade BNB or other assets stored on that address. +any [wallet](https://github.com/bnb-chain/bnb-chain.github.io/blob/master/docs/beaconchain/wallets.md) that supports Beacon Chain . Then you can trade BNB or other assets stored on that address. ### How can I send orders on Binance DEX? #### Order @@ -338,13 +337,13 @@ Feel free to talk to Binance community. Right now, there are 2 ways to transfer tokens cross-chain: -1. via interoperability among different chains. After the latest “Archimedes” upgrade, [BEP3](https://github.com/binance-chain/BEPs/blob/master/BEP3.md) was introduced and it defines native transactions to support [Hash Timelock Contract (HTLC)](https://en.bitcoin.it/wiki/Hash_Time_Locked_Contracts) on Beacon Chain and it also to defines the infrastructure standard and procedure to use HTLC for inter-chain [atomic swap](https://www.binance.vision/blockchain/atomic-swaps-explained) to easily swap tokens on different chains. Beacon Chain development community has finished implementing its solution for BEP3 with BEP2 and ERC20 tokens and decided to open-source all of the key components, including: -* [smart-contract solution](https://github.com/binance-chain/bep3-smartcontracts) that supports Atomic Peg Swap (APS) for Ethereum. Please note that this solution is already audited by 3rd party. -* [deputy process](https://github.com/binance-chain/bep3-deputy) written in GoLang that handles swap activities +1. via interoperability among different chains. After the latest “Archimedes” upgrade, [BEP3](https://https://github.com/bnb-chain/BEPs/blob/master/BEP3.md) was introduced and it defines native transactions to support [Hash Timelock Contract (HTLC)](https://en.bitcoin.it/wiki/Hash_Time_Locked_Contracts) on Beacon Chain and it also to defines the infrastructure standard and procedure to use HTLC for inter-chain [atomic swap](https://www.binance.vision/blockchain/atomic-swaps-explained) to easily swap tokens on different chains. Beacon Chain development community has finished implementing its solution for BEP3 with BEP2 and ERC20 tokens and decided to open-source all of the key components, including: +* [smart-contract solution](https://github.com/bnb-chain/bep3-smartcontracts) that supports Atomic Peg Swap (APS) for Ethereum. Please note that this solution is already audited by 3rd party. +* [deputy process](https://github.com/bnb-chain/bep3-deputy) written in GoLang that handles swap activities Any developer is welcome to test the solutions in testnet and then use them in mainnet. -2. via Binance.com. [Binance](https://wwww.binance.com),the largest cryptocurrency exchange, has issued a number of crypto-pegged tokens on Beacon Chain (BEP2 token format): [BEP2 Bitcoin](https://explorer.binance.org/asset/BTCB-1DE), [BEP2 BCH](https://explorer.binance.org/asset/BCH-1FD),[BEP2 XRP](https://explorer.binance.org/asset/XRP-BF2), [BEP2 LTC](https://explorer.binance.org/asset/LTC-F07). Pegged tokens such as [BEP2 Bitcoin](https://explorer.binance.org/asset/BTCB-1DE), are 100% backed by the native coin in [reserve](https://btc.com/3LYJfcfHPXYJreMsASk2jkn69LWEYKzexb). The reserve addresses are published for anyone to audit. Read this [blog](https://www.binance.com/en/blog/347360878904684544/Introducing-BitcoinPegged-Token-on-Binance-Chain) to learn about the reserved address. Users are free to convert between native and BEP2 Bitcoin via deposit/withdrawal. This has a higher degree of ease-of-use for most traders. More swap channels will be provided on partner wallets soon. +1. via Binance.com. [Binance](https://wwww.binance.com),the largest cryptocurrency exchange, has issued a number of crypto-pegged tokens on Beacon Chain (BEP2 token format): [BEP2 Bitcoin](https://explorer.binance.org/asset/BTCB-1DE), [BEP2 BCH](https://explorer.binance.org/asset/BCH-1FD),[BEP2 XRP](https://explorer.binance.org/asset/XRP-BF2), [BEP2 LTC](https://explorer.binance.org/asset/LTC-F07). Pegged tokens such as [BEP2 Bitcoin](https://explorer.binance.org/asset/BTCB-1DE), are 100% backed by the native coin in [reserve](https://btc.com/3LYJfcfHPXYJreMsASk2jkn69LWEYKzexb). The reserve addresses are published for anyone to audit. Read this [blog](https://www.binance.com/en/blog/347360878904684544/Introducing-BitcoinPegged-Token-on-Binance-Chain) to learn about the reserved address. Users are free to convert between native and BEP2 Bitcoin via deposit/withdrawal. This has a higher degree of ease-of-use for most traders. More swap channels will be provided on partner wallets soon. Atomic swap and this centralized approach are not exclusive to other decentralized approaches, which can also be implemented in parallel. There are many cross-chain solutions being developed and we are very interested in them. @@ -366,9 +365,9 @@ Validators then vote to accept the proposal. A deposit is taken to prevent network abuse. Once the proposal is accepted, the owner of the base asset can list the trading pair. -For more information about this process please check the [listing guide](https://github.com/binance-chain/docs-site/blob/master/docs/list.md). +For more information about this process please check the [listing guide](https://github.com/bnb-chain/bnb-chain.github.io/blob/master/docs/beaconchain/list.md). -### How would a third-party integrate with Beacon Chain and Binance DEX? +### How would a third-party integrate with Beacon Chain and Binance DEX? A wallet provider may choose to only support the feature set of Beacon Chain , which would just cover wallets, addresses, balances and transfers.
diff --git a/docs/BEP20.md b/docs/BEP20.md index 443a51c..2d3f657 100644 --- a/docs/BEP20.md +++ b/docs/BEP20.md @@ -21,7 +21,7 @@ Then users can use [Remix IDE](https://remix.ethereum.org) and [Metamask](wallet ## Interact with Contract with [Web3](https://www.npmjs.com/package/web3) and NodeJS. -### Connect to BNB Smart Chain 's public RPC endpoint +### Connect to BNB Smart Chain's public RPC endpoint ```js const Web3 = require('web3'); @@ -32,7 +32,7 @@ const web3 = new Web3('https://bsc-dataseed1.binance.org:443'); const web3 = new Web3('https://data-seed-prebsc-1-s1.binance.org:8545'); ``` -### Create a wallet +### Create a Wallet ```javascript web3.eth.accounts.create([entropy]); @@ -51,7 +51,7 @@ web3.eth.accounts.create(); ``` -### Recover a wallet +### Recover a Wallet ```javascript @@ -60,7 +60,7 @@ const account = web3.eth.accounts.privateKeyToAccount("0xe500f5754d761d74c3eb6c2 ``` -### Check balance +### Check Balance ```javascript web3.eth.getBalance(holder).then(console.log); @@ -75,7 +75,7 @@ The balance will be bumped by e18 for BNB. 6249621999900000000 ``` -### Create transaction +### Create Transaction **Parameters** diff --git a/docs/BNBSidechain/architecture/bs-arch.md b/docs/BNBSidechain/architecture/bs-arch.md new file mode 100644 index 0000000..6334dd0 --- /dev/null +++ b/docs/BNBSidechain/architecture/bs-arch.md @@ -0,0 +1,48 @@ +--- +sidebar_label: Architecture +sidebar_position: 2 +hide_table_of_contents: false +--- + +# BNB Sidechain Architecture + +BNB Sidechain is a modular framework for creating BSC-compatible sidechains. It defines requirements for integration with the BSC ecosystem and brings development-ready EVM-compatible features like staking, RPC-API, and smart contracts. Since BSC doesn’t rely on the BNB Sidechain security model, there is no default embedded production-ready bridge solution between the BSC and BNB Sidechain networks. Instead, BNB Sidechain can provide protocols and standards for integrating third-party bridges like Multichain or Celer Network cBridge. + +## BNB Sidechain Structure and Integration + +BNB Sidechain specifies the primary structure and configuration of the blockchain, using special templates. A **template** is a ready-made blockchain solution that is **already integrated into the BSC infrastructure**. With this integration, developers automatically get access to products like a ready-made staking system, block explorer, API gateways, interfaces for governance, etc. + +After applying templates, BNB Sidechain can be customized using programmable and configurable **modules**. + +

+  + +![img](../../../static/img/assets/bs-architecture.png) + +

+ +## Modules + +The main goal of BNB Sidechain is to build such a multi-modular blockchain architecture that it is flexible, convenient, and easy to use. + +As the current implementation of BNB Sidechain is built on BSC, all existing modules are built into the system smart contracts and into the EVM machine. In the future, a system of modules will be created to allow you to develop a universal smart contract and a bus for interacting between modules and other parts. This all will make it possible to use such modules in any blockchain solution. + +BNB Sidechain brings with it programmable and configurable modules that can be used or modified by developers to reach their business goals, for example: +* Networking — for p2p communication between different BNB Sidechain nodes. +* Blockchain & EVM — for block producing and EVM transaction execution, of course, each BNB Sidechain can define their own runtime execution environment based, for example, on WebAssembly in future. +* Web3 API — for BNB Sidechainic compatibility with Web3 ecosystem including MetaMask and other applications. +* Transaction Pool — for managing internal BNB Sidechain policies for transaction filtering and for charging fees for the system operational. +* PoSA Consensus — for users to be able to stake to the authorized validators in the BNB Sidechain network and guarantee the safeness of actions applied on the chain. +* Storage & State — for persisting local data. + +Internally, BNB Sidechain implements the following modules: Parlia consensus engine, staking pools, governance, dynamic runtime upgrades, reward management, manageable blockchain params, and EVM hooks. + +This modular architecture allows to re-use or enable/disable different modules. All modules are runtime-upgradable by on-chain governance. + +## Repositories + +Here is the list repositories provided by Ankr for development on BNB Sidechain: +* [BNB Sidechain-genesis-config](https://github.com/Ankr-network/bas-genesis-config) — genesis smart contracts and scripts for building the genesis config. +* [BNB Sidechain-template-bsc](https://github.com/Ankr-network/bas-template-bsc) — BNB Sidechain-compatible BSC-BNB Sidechained template. +* [BNB Sidechain-javascript-monorepo](https://github.com/Ankr-network/bas-javascript-monorepo) — mono-repository with all frontend-related packages and SDKs. +* [BNB Sidechain-devnet-setup](https://github.com/Ankr-network/bas-devnet-setup) — scripts for running BNB Sidechain devnet. diff --git a/docs/BNBSidechain/bas-pilot-projects.md b/docs/BNBSidechain/bas-pilot-projects.md new file mode 100644 index 0000000..21b681d --- /dev/null +++ b/docs/BNBSidechain/bas-pilot-projects.md @@ -0,0 +1,14 @@ +--- +sidebar_label: BNB Sidechain Pilot Projects +--- + +# BNB Sidechain Pilot Projects + +Following is the list of pilot projects powered by the BNB SideChain. + +* **[Cube](https://cube.store/)**: brings entertainment powered by blockchain on the Metaverse. CUBE aims to provide revolutionary entertainment for gamers, game developers, content creators, and content consumers alike, aiming to create a single platform where virtual entertainment translates to true value. + +* **[Project Galaxy](https://galaxy.eco/)**: a collaborative credential infrastructure that empowers brands to build better communities and products in Web3. Project Galaxy aims to empower users to curate and contribute to digital credentials and utilize those credentials through its application modules, credential oracle, and credential API. + +* **[Meta Apes](https://metaapesgame.com)**: Meta Apes is a real player-owned Web3 Game. Become part of the strongest Clan, create your own Gang, fight other apes, and be the first monkey to explore the galaxy! + diff --git a/docs/BNBSidechain/bs-tutorials.md b/docs/BNBSidechain/bs-tutorials.md new file mode 100644 index 0000000..80a74e9 --- /dev/null +++ b/docs/BNBSidechain/bs-tutorials.md @@ -0,0 +1,24 @@ +--- +sidebar_label: Tutorials +hide_table_of_contents: false +--- + +# Tutorials +In this section, we have provided tutorials on usage of different components of BNB Sidechain. + +### Tokens +* Tutorial on [How to Deploy ERC20 Tokens on BNB Sidechain BAS Devnet Test Network](https://www.ankr.com/docs/build-blockchain/bas/how-to-launch/deploy-erc20-token) +* Tutorial on [How to Deploy ERC721 Tokens on BNB Sidechain BAS Devnet Test Network](https://www.ankr.com/docs/build-blockchain/bas/how-to-launch/deploy-erc721-token) +* Tutorial on [How to Get Test Tokens on BNB Sidechain Aries Test Network](https://docs.nodereal.io/nodereal/bas/build-on-bas/get-token-from-bas-aries-testnet) +* Tutorial on [How to Issue BEP20 Token on BNB Sidechain Aries Test Network](https://docs.nodereal.io/nodereal/bas/build-on-bas/issue-bep20-tokens) +* Tutorial on [How to Issue BEP20 Tokens on BNB Sidechain Aries Test Network using Black IDE](https://blog.nodereal.io/en/how-to-issue-fungible-bep20tokens-on-bas-aries-testnet-using-black-ide/) +* Tutorial on [How to Issue NFTs on BNB Sidechain Aries Test Network](https://blog.nodereal.io/en/issuing-nft-erc-721-1155-on-bas-testnet/) +* Tutorial on [How to Issue NFTs on BNB Sidechain Aries Test Network using Black IDE](https://blog.nodereal.io/en/how-to-issue-nft-on-bsc-bas-aries-testnetusing-the-black-ide/) +* Tutorial on [How to Deploy NFTs on BNB Sidechain Aries Test Network Using OpenZeppelin Contracts and Truffle](https://docs.nodereal.io/nodereal/bas/build-on-bas/deploy-nft-on-bas) +### Wallet +* Tutorial on [How to Use Metamask with BNB Sidechain Test Network](https://docs.nodereal.io/nodereal/bas/wallet/use-metamask-for-bas) +* Tutorial on [Key Management using Web3JS using BNB Sidechain Test Network](https://docs.nodereal.io/nodereal/bas/wallet/key-management) + + + + diff --git a/docs/BNBSidechain/develop/BNBSidechainTestnet/development-tools.md b/docs/BNBSidechain/develop/BNBSidechainTestnet/development-tools.md new file mode 100644 index 0000000..45cabfc --- /dev/null +++ b/docs/BNBSidechain/develop/BNBSidechainTestnet/development-tools.md @@ -0,0 +1,28 @@ +--- +sidebar_label: Development Tools +--- +# Development Tools + +## Smart Contracts + +Smart contracts development with BAS enables you to build your smart contracts for any use, including cryptocurrency exchanges, smart contract-based dApps, Decentralized Finance, and more. Smart contracts are programming logic that are executed automatically when a certain condition(s) are met. In BAS, smart contracts can be written in Solidity programming language. +Please refer to the [official documentation of Solidity](https://docs.soliditylang.org/) for any queries. + + +## IDE and Libraries + +Multiple IDEs and libraries can be used for developing and deploying smart contracts. + +- [Remix IDE](https://remix.ethereum.org/): powerful open-source tool that helps you write Solidity contracts straight from the browser. It is written in JavaScript and supports both usages in the browser, but runs locally and in a desktop version. Remix IDE has modules for testing, debugging, deploying smart contracts, and much more. + +- [Truffle](https://www.trufflesuite.com/docs/teams/quickstart): development tool that allows users to compile, test, debug and deploy smart contracts. + +- [Web3JS](https://web3js.readthedocs.io/en/v1.2.11/): collection of libraries that allow you to interact with a local or remote Ethereum node using HTTP, IPC, or WebSocket. + +## JSON RPC Endpoints and Other Dev Tools + +* For details on BNB Sidechain BAS Devnet, refer [here](https://www.ankr.com/docs/build-blockchain/bas/demo) for details on JSON RPC endpoints and other development tools like faucet and explorer. + +* For details on BNB Sidechain Aries Testnet, refer [here](https://docs.nodereal.io/nodereal/bas/build-on-bas/json-rpc-endpoint) for JSON RPC endpoints and [here](https://docs.nodereal.io/nodereal/bas/build-on-bas/development-tools-used-on-bas#faucet) for details on other development tools like faucet and explorer. + +* JSON-RPC methods: Please refer to this [wiki page](https://github.com/ethereum/wiki/wiki/JSON-RPC) or use [Postman](https://documenter.getpostman.com/view/4117254/ethereum-json-rpc/RVu7CT5J?version=latest). \ No newline at end of file diff --git a/docs/BNBSidechain/develop/BNBSidechainTestnet/metamask-with-bas-testnet.md b/docs/BNBSidechain/develop/BNBSidechainTestnet/metamask-with-bas-testnet.md new file mode 100644 index 0000000..25c99f4 --- /dev/null +++ b/docs/BNBSidechain/develop/BNBSidechainTestnet/metamask-with-bas-testnet.md @@ -0,0 +1,131 @@ +--- +sidebar_label: Use MetaMask For BNB Sidechain +--- + +# Using MetaMask Wallet with BNB Sidechain Test Network +!!! Tip You may encounter a network configuration issue in recent releases of MetaMask. If so, please make sure you have the recent version installed. + +## What is MetaMask? +MetaMask was created out of the need for creating more secure and usable Ethereum-based websites. In particular, it handles account management and connecting users to the blockchain. It’s supported in Chrome, Brave, and Safari browsers. + +## Install MetaMask +**Example**: Install MetaMask on Chrome browser. Nevertheless, the workflow is the same for all browsers. +Navigate to the Metamask extension in the Chrome Webstore's Extension Category: https://chrome.google.com/webstore/category/extensionsSearch + +![img](../../../../static/img/assets/metamask-install.png) + +> Note: Make sure it’s offered by metamask.io +* Click on “Add to Chrome”. + +![img](../../../../static/img/assets/metamask-getstarted.png) + +That’s it! You have successfully installed the MetaMask extension on Chrome! + +## Create an account in MetaMask for BNB Sidechain +1. Click on the “Create a wallet” button + +![img](../../../../static/img/assets/create-wallet-for-bas.png) + +2. Create a Password of at least 8 characters + +img + +3. Click on “Create” and then write down your backup phrase. + +![img](https://lh5.googleusercontent.com/hluBiNbCN4-8J31jX_5j2OqoNZZxb1WoApMr8RnxQ68FswgpD5D0WCZLb01nMVxDR57k-7WlDndvHEIgpB9pVHCr6O9KgenSPG6ayZrZ3D2wtZuWfTiu5Pbi_mDM19414i5FUDl4) + +4. Select each phrase to make sure it is correct then click “Confirm”. + +img + +_Congratulations_! You have created your MetaMask account! + +## Connect Your MetaMask With BNB Sidechain + +1. Go to the setting page + +![img](https://lh5.googleusercontent.com/NqWPIv1MrMJ-W2wDKjxtdxcdFhDwiqhsZ6G6MY6FQnhxPTCCPfPHBJ59vBl1ddxpbfV11ufETWAolV1s9YjCYHPeJCKW1S-sr8gfjcFt3swXM-p3IgafNBqPZ86DvThK-I9gKbrw) + +2. Add a new network + +![img](../../../../static/img/assets/bnb-sidechain-metamsk-config.JPG) + +### MetaMask Network Configuration for BNB Sidechain Testnet + +**RPC URL**: https://rpc.dev-01.bas.ankr.com/ +**ChainID**: 14000 +**Symbol**: BAS + +3. Claim some testnet BNB Sidechain tokens to your account then click on your address to copy +![img](../../../../static/img/assets/bnb-sidechain-metamsk-config-2.JPG) + +4. Go to the faucet page: , then paste your address in the box and click on “Give Me Native Token” + +!!! Tip: Please note that you can only claim once every minute + +After the transfer transaction is sent, you will see an increase in your balance. + +![img](../../../../static/img/assets/bnb-sidechain-faucet.JPG) + +## Transfer BNB Sidechain Tokens to other address on BNB Sidechain Network + +1. Log in to your MetaMask + +img + +2. Click on the "Send" button + +![img](../../../../static/img/assets/send-bas-token-1.JPG) + +3. Copy the receiver’s address in the box + +![img](../../../../static/img/assets/send-bas-token-2.JPG) + +4. Input the amount + +![img](../../../../static/img/assets/send-bas-token-3.JPG) + +5. Confirm your transaction, then click Next + +6. Click Confirm to send your transaction + +![img](../../../../static/img/assets/send-bas-token-4.JPG) + +7. Wait for your transaction to be included in the new block + +![img](../../../../static/img/assets/send-bas-token-5.JPG) + +1. Once your transaction is confirmed, check it on block explorer by clicking Details + +2. Click on your account to see "Details'' + +![img](../../../../static/img/assets/send-bas-token-6.JPG) + +## Import BEP20 Tokens to MetaMask Wallet + +1. In MetaMask, Click on “Import tokens” + +![img](https://3273513804-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoXY90dh2y66ykYGiiavc%2Fuploads%2FCFNPFrmwkZfl1O72O6Dh%2F13-importToken.png?alt=media&token=4bf6c3eb-ce87-426a-92dd-5a92ea7d5508) + +2. Copy the token contract address in the box + +![img](https://3273513804-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoXY90dh2y66ykYGiiavc%2Fuploads%2FhqgYWYdmZ83rfUkoeCXy%2F14-inputToken.png?alt=media&token=c0d20f17-1a94-4e03-9317-c01e597254db) + +3. Click on “Add Custom Token” + +![img](https://3273513804-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoXY90dh2y66ykYGiiavc%2Fuploads%2FbIMTMzXuwtFmhTqbu1lC%2F15-import.png?alt=media&token=77ac45b9-3861-45a1-aad6-52e9555a417f) + +4. Click on "Import Tokens" +5. BEP20 token added + +## Create Multiple Accounts +1. To create multiple accounts, click on the Profile icon on MetaMask and then click on Create Account + +![img](https://3273513804-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoXY90dh2y66ykYGiiavc%2Fuploads%2F8WEpWfDtNPxVsUYh7bZM%2F16-create.png?alt=media&token=6fe5b75c-e33e-4efa-8253-909e0d98f815) + +2. You can then add an account name and click on Create. + +![img](https://3273513804-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoXY90dh2y66ykYGiiavc%2Fuploads%2FggpTmHfXGCm36N72Yg7u%2F18-added.png?alt=media&token=87337b1e-2aee-45c5-849b-6ecce07bb02c) + +1. Then you can see a new account has been created! + diff --git a/docs/BNBSidechain/develop/BNBSidechainTestnet/tutorials/deploy-erc20-tokens.md b/docs/BNBSidechain/develop/BNBSidechainTestnet/tutorials/deploy-erc20-tokens.md new file mode 100644 index 0000000..21d0d20 --- /dev/null +++ b/docs/BNBSidechain/develop/BNBSidechainTestnet/tutorials/deploy-erc20-tokens.md @@ -0,0 +1,33 @@ +--- +sidebar_label: Deploy ERC-20 Token +--- + +# Deploy ERC-20 Token + +Deployment of ERC-20 token can be done through Remix IDE locally using truffle. As BNB Sidechain supports both EVM & Web3JS, it is compatible with Ethereum development toolsets. The Remix IDE is the easiest way to deploy the ERC-20 smart contract into a BNB Sidechain network. + +To deploy an ERC-20 token using Remix IDE go to the [remix page](https://remix.ethereum.org/). +In the deploy section, choose `Injected Web3` and make sure your MetaMask is connected to one of the BNB Sidechain networks. +To get connected to the BNB Sidechain network, go to one of the BNB Sidechain devnet's staking pages, for example, https://staking.dev-01.bas.ankr.com/, and it will create a new MetaMask network automatically for you. +You can also configure your MetaMask manually. + +Use this snippet of the ERC-20 smart contract: +``` +// SPDX-License-Identifier: GPL-3.0 +pragma solidity >=0.7.0 <0.9.0; + +import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; + +contract MyERC20Token is ERC20 { + + constructor() ERC20("My Test Token", "MTT") { + _mint(msg.sender, 1000 ether); + } +} +``` + +Now you can go to the `Solidity Compiler` section to compile your smart contract and deploy it to the BNB Sidechain network via the `Deploy & Run Transaction` section. + +:::warning +Make sure you choose the `MyERC20Token` smart contract at the deployment stage. +::: \ No newline at end of file diff --git a/docs/BNBSidechain/develop/BNBSidechainTestnet/tutorials/deploy-erc721-tokens.md b/docs/BNBSidechain/develop/BNBSidechainTestnet/tutorials/deploy-erc721-tokens.md new file mode 100644 index 0000000..810a270 --- /dev/null +++ b/docs/BNBSidechain/develop/BNBSidechainTestnet/tutorials/deploy-erc721-tokens.md @@ -0,0 +1,34 @@ +--- +sidebar_label: Deploy NFT +--- + +# Deploy ERC-721 token + +Deployment of ERC-20 token can be done through Remix IDE locally using truffle. As BNB Sidechain supports both EVM & Web3JS, it is compatible with Ethereum development toolsets. The Remix IDE is the easiest way to deploy the ERC-20 smart contract into a BNB Sidechain network. + +To deploy an ERC-721 token using Remix IDE go to the [remix page](https://remix.ethereum.org/). +In the deploy section, choose `Injected Web3` and make sure your MetaMask is connected to one of the BNB Sidechain networks. +To get connected to the BNB Sidechain network, go to one of the BNB Sidechain devnet's staking pages, for example, https://staking.dev-01.bas.ankr.com/, and it will create a new MetaMask network automatically for you. +You can also configure your MetaMask manually. + +Use this snippet from the ERC-721 smart contract: + +``` +// SPDX-License-Identifier: GPL-3.0 +pragma solidity >=0.7.0 <0.9.0; + +import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; + +contract MyERC20Token is ERC20 { + + constructor() ERC20("My Test Token", "MTT") { + _mint(msg.sender, 1000 ether); + } +} +``` + +MetaData URI is a link (usually on ipfs) that returns a JSON object with information about your NFT token. + +:::info +For more information on NFT (EIP-721) metadata, visit the [official EIP page](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md). +::: \ No newline at end of file diff --git a/docs/BNBSidechain/faqs-bas.md b/docs/BNBSidechain/faqs-bas.md new file mode 100644 index 0000000..6b5a3c7 --- /dev/null +++ b/docs/BNBSidechain/faqs-bas.md @@ -0,0 +1,74 @@ +--- +sidebar_label: BNB Sidechain FAQs +sidebar_position: 2 +hide_table_of_contents: false +--- +# BNB Sidechain FAQs + +### What is BNB Sidechain? +The BNB Sidechain is an infrastructure introduced to help developers and node operators build and run their own blockchain as their internal value system for a massive number of users while still maintaining a close connection with the BNB Chain. Any project developer will be able to deploy their own BNB Sidechain with its unique specifications and validator set. This validator set can run with fewer validators than BNB Chain, depending on the BNB Sidechain deployer. These validators can be run by the application owners or any community stakeholders, bringing more flexibility and decentralization to BNB Sidechain. The typical usage of BNB Sidechain is like the Ronin chain for the Axie Infinity. + +### Do projects need permissions to set up BNB Sidechain? +No, BNB Sidechain is permissionless. We have 3–4 games in the test pilot stage right now. Nodereal and Ankr will help them build on BNB Sidechain. + +### What is the consensus mechanism for BNB Sidechain? +TL;DR: Think of it as a "mini BSC". + +BNB Sidechain uses BSC's Parlia consensus. Parlia is a Proof-of-Staked Authority (PoSA) consensus algorithm for BSC. It incorporates elements from both Proof-of-Stake and Proof-of-Authority. It is a BFT-like consensus where only one validator produces a block and to be sure of the correctness of this operation we must wait for the confirmation time, usually its 2/3*N+1, where N is active validators (15 blocks for the current configuration). + +For more detail, read about Parlia on [BNB Chain docs](https://docs.bnbchain.org/docs/learn/consensus#consensus-protocol). + +### I've heard about the hack on Ronin. How does BNB Sidechain protect me from something like this? +The recent exploit discovered on Ronin illustrates the importance of having a diverse and decentralized group of validators and node operators serving the chain. Ankr will use its own token to help incentivize other node providers to support decentralization on BNB Sidechain. + +### What is the cost for projects to adopt BNB Sidechain? +Depends on whether the project wants to own its own BNB Sidechain, or wants it as a PaaS service. + +NodeReal or Ankr will provide it as PaaS, which includes validators, networks, tools, RPC service, and explorer. All that will be provided as a package, and there will be a quotation for this service. + +### Will BNB Sidechain transactions and DAOs be counted towards BNB Chain? Should we account for these sidechain metrics and how? +They will not be counted. In the future, BSC should focus mainly on non-game metrics and liquidity, while games will be on BNB Sidechain. + +### When can projects start deploying on BNB Sidechain? +BNB Sidechain Testnet will be out at the end of March 2022. + +BNB Sidechain Mainnet will be ready at least 2 months after that. + +### Where can we find more docs for BNB Sidechain for our developers to read through? +Refer to [BNB Sidechain Architecture](../BNB Sidechain/architecture/overview). + +Also, read [BNB Chain 2022: Build N’ Build](https://www.bnbchain.org/en/blog/bsc-2022-build-and-build/) and [BEP100 proposal for Binance Application Sidechain (BNB Sidechain)](https://github.com/bnb-chain/BEPs/pull/132). + +### If developers have questions about BNB Sidechain deployment, where can they ask them? +We will soon set up a Discord channel for questions and organize a Twitter space to share more details. +For now, they can read [How to Launch a BNB Sidechain](https://www.ankr.com/docs/build-blockchain/bas/how-to-launch/launch-bas). + +### I have read the proposal and want to take the next step toward deployment. Whom can I talk to? +For now, read [How to Launch a BNB Sidechain](develop/BNB Sidechain-Testnet/launch-BNB Sidechain.md). For other business and technical details, wait till the Discord channel for BNB Sidechain is set up. You'll be able to ask your questions there. + +### If a project already has its own private chain, what’s the process to integrate it as a BNB Sidechain? And what does “integrate” mean? +Such a project will have to implement BNB Sidechain modules following our standards to align with our BNB Sidechain framework. "Integrate" means to become a BNB Sidechain-compatible blockchain that can use all the specter of BNB Sidechain products. + +### What’s the process to set up a BNB Sidechain? How long does it take? +On average, it takes several hours to set up a BNB Sidechain. + +### How is the validator set and rules decided? Can the application decide on all the validators? +We propose a very flexible configuration, BNB Sidechained on the project parameters. The minimum is 3 validators. + +### Are there prerequisites for a token to be used as a BNB Sidechain sidechain token? +There are no prerequisites. You can just issue a new token. + +For example, Ankr will have its own BNB Sidechain and use its own token. + +### What are the main differences, advantages, and disadvantages when we compare BNB Sidechain with Avalanche Subnets? +They are very similar. Where they differ is the consensus rules. + +### What maintenance is required for BNB Sidechain operations? Do we maintain it or BNB Chain does it? +If you build your own BNB Sidechain, the maintenance is fully on you. + +If you use it as a PaaS at Nodereal or Ankr, they will do the maintenance. They will also do all future upgrades, 24x7 SLA support, and so on. + +### What's the expected technological advancement here? In other words, what's the positive-sum net value for users and developers? +With BNB Sidechain, developers are able to set up and run a scalable blockchain solution, with smart contracts capability, in a very short time. They can also modify and upgrade their BNB Sidechain using different modules or writing their own modules. Effectively, it means faster and simpler monetization and easier user attraction. + +With BNB Sidechain, users can gain access to new projects faster and use new exciting opportunities. \ No newline at end of file diff --git a/docs/BNBSidechain/overview/bas.md b/docs/BNBSidechain/overview/bas.md new file mode 100644 index 0000000..078aa97 --- /dev/null +++ b/docs/BNBSidechain/overview/bas.md @@ -0,0 +1,41 @@ +--- +sidebar_label: Getting Started +sidebar_position: 2 +hide_table_of_contents: false +--- + +# Getting Started with BNB Sidechain + +## Why is BNB Sidechain introduced? +To overcome network scalability problems of BSC in 2021, the BSC community has proposed the use of BNB Sidechain in their [Outlook 2022](https://www.bnbchain.world/en/blog/bsc-2022-build-and-build/) paper. These sidechains can be designed for much higher throughput and lower (even zero) gas fees. We want to define a protocol for consensus management and messaging between BNB Sidechain and BSC so that it is easier for developers to use a ready-made solution and it is easier for BSC to integrate with them. Briefly speaking, the typical usage of BNB Sidechain is like that of the Ronin chain for the Axie Infinity on Ethereum. However, unlike Ronin, BNB Sidechain is designed with better architecture and security in mind. The idea of BNB Sidechain is to allow you to expand and reuse existing modules, and by using the architecture on smart contracts, painlessly modify existing contracts. + +## What is BNB Sidechain? +BNB Sidechain is a framework for creating sidechains in the BSC (BNB Smart Chain) ecosystem. It is an infrastructure to help developers and node operators build and run their custom blockchains as their internal value system and for a massive number of users while still maintaining a close connection with the BSC. +The main task of BNB Sidechain is to facilitate any project developer to be able to deploy their blockchains with their unique specifications and validator set but still be connected to the BSC infrastructure. The validator set can run with fewer validators than BNB Chain, depending on the BNB Sidechain deployer. These validators can be run by the application owners or any community stakeholders, bringing more flexibility and decentralization to BNB Sidechain. +We can rightfully claim that BNB Sidechain is a lightweight framework on which one can build simple but functional blockchain projects. Developers and teams can create simple blockchains with their own business rules and economies. Most importantly, they can extend the existing functionality of the BNB Chain (BSC). + +## Architecture +BNB Sidechain is a modular framework for creating BSC-compatible sidechains. +It defines requirements for integration with the BSC ecosystem and brings development-ready EVM-compatible features like staking, RPC-API, and smart contracts. Since BSC doesn’t rely on the BNB Sidechain security model, there is no default embedded production-ready bridge solution between the BSC and BNB Sidechain networks. Instead, BNB Sidechain can provide protocols and standards for integrating third-party bridges like Celer Network’s cBridge or Multichain. + +Technically, BNB Sidechain is a set of smart contracts written in any possible programming language. The contract executor itself can be anyone and work in any way; BNB Sidechain does not require the use of any specific set of programming languages or API standards. +In essence, BNB Sidechain defines the primary structure and configuration of the blockchain, using special templates. A template is a ready-made blockchain solution that is already integrated into the BSC infrastructure. With this integration, developers automatically get access to such useful products as a ready-made staking system, block explorer, SDK, API gateways, interfaces for governance, etc. +The current implementation of BNB Sidechain is BNB Sidechained on a modified version of BSC, but this is not the rule, BNB Sidechain can technically run on top of any blockchain. In the future, the list of templates will be extended. + +## Launch a BNB Sidechain +If you want to set up your own testnet, follow the steps defined [here](https://www.ankr.com/docs/build-blockchain/bas/overview). Celer has also provided a testnet BNB Sidechain [bridge](https://test-bas-bridge.celer.network/#/transfer) for use with BNB Sidechain. + +If you want to leverage third party services, you can reach [NodeReal Support](https://nodereal.io/semita) or [Ankr](https://docs.ankr.com/blockchain-apis/getting-support) to get professional support there. + +### Testnets +There are two testnets where you can try BNB Sidechain. It already contains pre-deployed API gateways, block explorer, UI for the staking, and a faucet. + +* Ankr BNB Sidechain Testnet: [Ankr documentation](https://docs.ankr.com/bnb-application-sidechain/demo). + +* NodeReal Aries Testnet: + * NodeReal Testnet blog: + * Documentation: . + +## FAQ +For more questions, refer to the [FAQs](../faqs-bas.md) section. + diff --git a/docs/BNBSidechain/overview/relationBSCandBAS.md b/docs/BNBSidechain/overview/relationBSCandBAS.md new file mode 100644 index 0000000..5c3a700 --- /dev/null +++ b/docs/BNBSidechain/overview/relationBSCandBAS.md @@ -0,0 +1,25 @@ +--- +sidebar_label: Relation between BSC and BNB Sidechain +sidebar_position: 2 +hide_table_of_contents: false +--- + +# Relation between BSC and BNB Sidechain +The BNB Chain ecosystem is comprised of 2 blockchains - the Beacon Chain (BC) and the BNB Smart Chain (BSC). BC is the governance layer of the ecosystem whereas, BSC is the financial hub where the actual development comes into action which includes decentralized applications related to DeFi, Metaverse, GameFi, etc. Over the years, BSC has grown into becoming the developers' favourite blockchain ecosystem for building various powerful decentralized applications that are shaping the Web3 ecosystem. However, with the increase in network usage and users, network scalability issues are surfacing. To overcome these constraints and provide their users with seamless services the BNB Chain team has introduced the BNB Sidechain. + +BNB Sidechain is targetted to empower the BSC blockchain through the following ways: + +* ### **Higher Throughput and Lower Gas Fees** +These sidechains are designed for much higher throughput and lower (even zero) gas fees. + +* ### **Seamless Integration** +We have defined a protocol for consensus management and messaging between BNB Sidechain and BSC so that it is easier for developers to use a ready-made solution and it is easier for BSC to integrate with them. The idea of BNB Sidechain is to allow you to expand and reuse existing modules, and by using the architecture on smart contracts, painlessly modify existing contracts. + +* ### **Ready-to-Use Solutions** +BNB Sidechain is a framework for creating sidechains in the BSC ecosystem. It is an infrastructure to help developers and node operators build and run their own blockchains as their internal value system and for a massive number of users while still maintaining a close connection with the BSC. +The main task of BNB Sidechain is to facilitate any project developer to be able to deploy their own blockchains with their unique specifications and validator set (currently, BNB Chain validators are used for consensus) but still be connected to the BSC infrastructure. The validator set can run with fewer validators than BNB Chain, depending on the BNB Sidechain deployer. These validators can be run by the application owners or any community stakeholders, bringing more flexibility and decentralization to BNB Sidechain. + +* ### **Extend Existing Functionality of BSC** +We can rightfully claim that BNB Sidechain is a lightweight framework on which one can build simple but functional blockchain projects. Developers and teams can create simple blockchains with their own business rules and economies. Most importantly, they can extend the existing functionality of the BNB Smart Chain (BSC). + + diff --git a/docs/BNBSidechain/overview/whentochooseBAS.md b/docs/BNBSidechain/overview/whentochooseBAS.md new file mode 100644 index 0000000..28e0cc1 --- /dev/null +++ b/docs/BNBSidechain/overview/whentochooseBAS.md @@ -0,0 +1,23 @@ +--- +sidebar_label: When to Choose BNB Sidechain +sidebar_position: 2 +hide_table_of_contents: false +--- + +# When to Choose BNB Sidechain + +BNB Sidechain is recommended for large decentralized applications with more than 100k Daily Active Users (DAUs). It is designed to be the go-to choice for any application that wants to build its own chain with high speed, ultra-low gas fee, and its own gas token. + +## Benefits of Choosing BNB Sidechain + +* ### **Own Your Own Blockchain and Gas Token** +Introduce more utilities through Gas tokens. Have flexibility in designing your own validator set and tools. + +* ### **High TPS, Ultra Low Gas Fees, and Full EVM Compatibility** +Sustainable growth. Great user experience. Assurance of consistent performance on the network. + +* ### **Backed by the Largest Ecosystems by BSC and BNB Sidechain** +BSC and BNB Sidechain are seamlessly integrated and BSC DeFi/NFT liquidity and user base (>2M DAU ATH). + +* ### **Free of Programming Languages Constraints or API Standards** +BNB Sidechain is a set of smart contracts written in any possible programming language. The contract executor itself can be anyone and work in any way; BNB Sidechain does not require the use of any specific set of programming languages or API standards. diff --git a/docs/BNBSidechain/security/blockchain-and-evm-security.md b/docs/BNBSidechain/security/blockchain-and-evm-security.md new file mode 100644 index 0000000..dbec4f8 --- /dev/null +++ b/docs/BNBSidechain/security/blockchain-and-evm-security.md @@ -0,0 +1,22 @@ +--- +sidebar_label: Blockchain and EVM Security +--- + +# Blockchain and EVM security + +## Blockchain + +BNB Sidechain solves the blockchain security problem by using the BSC code BNB Sidechain for its default template applied when creating a BNB Sidechain instance, which is audited by [Beosin](https://github.com/Ankr-network/bas-genesis-config/blob/master/audit/2022-04-27-Beosin.pdf) and Certik. + +## EVM + +BNB Sidechain solves the virtual machine security problem by fully trusting EVM (Ethereum Virtual Machine) from the official Go-Ethereum codebase. + +EVM is a well-tested product that is used by the entire blockchain community and was audited thousands of times. + +BNB Sidechain doesn't rely on some third-party services that can manage staking and governance for the BNB Sidechain chain. +Instead, it implements all staking- and governance-specific logic right in the smart contracts. +It means that staking, governance, and rewards distribution are fully managed and verified by the EVM runtime environment. + +To prove the absence of vulnerabilities and bugs in the code, we're passing several auditions. +So far, you can read [audit details on BNB Sidechain system smart contracts](https://assets.ankr.com/bas/system_smart_contracts_security_audit.pdf). diff --git a/docs/BNBSidechain/security/bridge-security.md b/docs/BNBSidechain/security/bridge-security.md new file mode 100644 index 0000000..8f74ce3 --- /dev/null +++ b/docs/BNBSidechain/security/bridge-security.md @@ -0,0 +1,16 @@ +--- +sidebar_label: Bridge Security +--- +# Bridge Security + +cBridge introduces the best-in-class cross-chain token bridging experience for BNB Sidechain. cBridge for bridging assets from BNB Sidechain to BSC and vice-versa can be accessed [here](https://test-bas-bridge.celer.network/#/transfer) + +Time and again several news headlines have resurfaced about the compromise and hacking of different cross-chain bridges resulting in a loss of million of dollars. The development teams at BNB Chain and Celer understand the importance for our community, users, and developers to have a clear understanding of the security models of the Celer Inter-chain Message Framework (Celer IM). + +Different from existing interoperability solutions, Celer has two different security models, an [optimistic-rollup](https://cbridge-docs.celer.network/introduction/cbridge-security#optimistic-rollup-style-security-model) inspired model and an L1-PoS-blockchain security model. Each of these comes with different delay and security assumptions tradeoffs that developers and users can freely choose from or set. The security model is highly flexible and even for a single application, developers can choose to build a hybrid model based on the “value” or “significance” of every cross-chain message. + +Celer cBridge, an asset bridge built on top of Celer IM, supports a [hybrid model](https://cbridge-docs.celer.network/introduction/cbridge-security#hybrid-model-is-available) so that the various tradeoffs can be dynamically chosen by the connecting chain based on the cross-chain transfer amount, token and source/destination chain. + +:::info +For more details on the security of the Celer cBridge, refer to [Celer's official documentation](https://cbridge-docs.celer.network/introduction/cbridge-security). +::: diff --git a/docs/BSC-FAQs-delegator.md b/docs/BSC-FAQs-delegator.md index 36f78c2..eb6124e 100644 --- a/docs/BSC-FAQs-delegator.md +++ b/docs/BSC-FAQs-delegator.md @@ -1,6 +1,6 @@ --- sidebar_label: BSC Delegator FAQs -hide_table_of_contents: true +hide_table_of_contents: false sidebar_position: 2 --- @@ -8,10 +8,7 @@ sidebar_position: 2 ### What's the role of a delegator? -A delegator can delegate its BNB to a chosen validator to participate the consensus and earn rewards. - - -Staking BNB directly contributes to the security of the entire network. +A delegator can delegate its BNB to a chosen validator to participate the consensus and earn rewards. Staking BNB directly contributes to the security of the entire network. ### How to delegate my BNB? @@ -19,12 +16,10 @@ Please read the guide [here](del-guide.md) You can use: -* [BNB Chain extension wallet](binance.md) +* [Binance Extension Wallet](binance.md) * [Math Wallet](http://blog.mathwallet.xyz/?p=3890) * [Trust Wallet](https://community.trustwallet.com/t/bnb-staking-with-trust-wallet/113243) -* [command line tool](https://github.com/binance-chain/node/releases/tag/v0.8.1) - - +* [Command Line Tool](https://github.com/bnb-chain/node/releases/tag/v0.8.1) ### How to undelegate my BNB? @@ -51,11 +46,27 @@ You can read about the details [here](stake/Staking.md) and about staking cli co Since validatorset info is updated every day UTC 00:00, to make some room for the error handling, we distribute the fees of day N-1 in the next breathe block (day N+1). Thus, after you sent delegate transaction, you will receive your first staking rewards at the second UTC 00:00. Afterwards, you will receive your rewards everyday at UTC 00:00. ### When can I receive my undelegated BNB? - Since Unbonding Period is 7 days. Thus, after you sent undelegate transaction, your staked BNB will not receive any rewards since the next UTC 00:00. After 7 days start from the next UTC 00:00, you will receive your BNB . -### What's the potential loss for delegators? +### When can I redelegate my staked BNB? +You can choose to move your staked BNB to a different validator by sending a redelegate transaction. For example, you can redelegate from validator A to validator B. Your BNB are still staked, and you can receive rewards from validator B since next 00:00 UTC + +Redelegations between a unique delegator, source validator, and destination validator can only happen once every 7 days + +### What is the potential loss for delegators? The only risk for delegators is the loss of rewards when their staked validator is slashed. Their staked BNB will not be impacted. ### Can a validator run away with their delegators' BNB? -By delegating to a validator, a user delegates voting power. This does not mean that the validator has custody of their delegators' BNB. By no means can a validator run away with its delegator's funds. \ No newline at end of file +By delegating to a validator, a user delegates voting power. This does not mean that the validator has custody of their delegators' BNB. By no means can a validator run away with its delegator's funds. + +### Can I receive my staking rewards if my chosen validator is inactive? +No, you cannot. + +### When can I receive my unstaked BNB? +After you sent `undelegate` transaction, you have to wait 7 days. This period starts at UTC 00:00 next day. + +### What is APR? +Annual Percentage Rate (APR) is the annual rate of interest paid to delegators net of commission. The calculation is based on the income of this validator 2 days ago. It is not compounded and updated every 24 hours. + + + diff --git a/docs/BSC-FAQs-general.md b/docs/BSC-FAQs-general.md index 1cb1fed..82cfa72 100644 --- a/docs/BSC-FAQs-general.md +++ b/docs/BSC-FAQs-general.md @@ -1,6 +1,6 @@ --- sidebar_label: BSC General FAQs -hide_table_of_contents: true +hide_table_of_contents: false sidebar_position: 2 --- @@ -16,39 +16,50 @@ The execution of a Smart Contract may slow down the esxchange function and add n ### Where will the published whitepaper be found? - and also , where feedback is more than welcome. +The whitepaper can be found at . Your feedback is more than welcome. ### Where can I take a look at BNB Smart Chain code? Is there a GitHub repository? The codebase of BSC is open-sourced here: -* -* -* -* -* -* +* +* +* +* +* +* -### Where can I find some support? +## What is consensus model of BSC? -* Technical talk and support running our software: Telegram -* Bugs or technical contributions: GitHub +BNB Smart Chain is an innovative solution to bring programmability and interoperability to Beacon Chain. BNB Smart Chain relies on a system of 21 validators with Proof of Staked Authority (PoSA) consensus that can support short block time and lower fees. For more details, refer [here](learn/consensus.md). + +## Where can I find some support? +* Technical talk and support running our software: + * Telegram: + * Discord: +* Bugs or technical contributions: GitHub * General discussion regarding our blockchain: Telegram -### Which are BNB Smart Chain 's official channels for communication and information? +## Which are BNB Smart Chain's official channels for communication and information? * Binance DEX announcements: -* Twitter: -* BNB Chain Forum: +* Twitter: +* BNB Chain Forum: + ### Wallet support for BNB Smart Chain - - [Binance Extension Wallet ](wallet/binance.md) + - [Binance Extension Wallet](wallet/binance.md) - [MetaMask](wallet/metamask.md) - [Math Wallet](wallet/math.md) - [Arkane](wallet/arkane.md) - [Ledger](wallet/ledger.md) - [MEW](wallet/myetherwallet.md) + - [Trust Wallet](wallet/trustwallet.md) + - [ezDeFi](wallet/ezdefi.md) + - [SafePal](https://blog.safepal.io/pre-announcement-trade-on-dex-with-safepal/) + - [TokenPocket](https://tokenpocket-gm.medium.com/defi-with-tokenpocket-how-to-use-binance-smart-chain-swap-with-tokenpocket-e76d6cd7986) + ### How to recover if you choose the wrong network type? @@ -82,7 +93,7 @@ BNB Chain opens the gate for users to take advantage of the fast transferring an There are already [140 assets](https://explorer.binance.org/assets/bep2) on BNB Chain -The introduction of [BEP8](https://github.com/binance-chain/BEPs/blob/master/BEP8.md) is an innovative way for tokenization of properties +The introduction of [BEP8](https://github.com/bnb-chain/BEPs/blob/master/BEP8.md) is an innovative way for tokenization of properties ### What make BNB Smart Chain different? @@ -127,7 +138,7 @@ bnbcli params side-params --side-chain-id=bsc --node http://dataseed4.binan ### How is BNB Smart Chain Ecosystem? - + ### What are the incentives for developers to build on BSC Chain? @@ -161,7 +172,8 @@ Current list: * YFII: * ZEC: -Details are [here](https://www.binance.org/en/blog/binance-presents-project-token-canal-2/) +Details are [here](https://www.bnbchain.org/en/blog/binance-presents-project-token-canal-2/) + ### How to Send and Receive BNB on Smart Chain? @@ -169,7 +181,7 @@ Details are [here](https://www.binance.org/en/blog/binance-presents-project-toke 1. If you don't have an existing address of BNB Smart Chain , please use these [wallets](Wallet.md) to create one. -2. On your Binance account, open your BNB wallet then tap on Withdraw. Select BEP20 as the Network. Indicate the amount and paste your BSC address. +2. On your Binance account, open your Binance Extension wallet then tap on Withdraw. Select BEP20 as the Network. Indicate the amount and paste your BSC address. 3. Complete the steps to withdraw @@ -179,7 +191,7 @@ Details are [here](https://www.binance.org/en/blog/binance-presents-project-toke [Binance.com](https:/www.binance.com) can withdraw those pegged tokens to BSC. -1. If you don't have an existing address of BNB Smart Chain , please use these [wallets](Wallet.md) to create one. +1. If you don't have an existing address of BNB Smart Chain, please use these [wallets](Wallet.md) to create one. 2. On your Binance account, open your wallet then tap on Withdraw. Select BEP20 as the Network. Indicate the amount and paste your BSC address. @@ -189,4 +201,61 @@ Details are [here](https://www.binance.org/en/blog/binance-presents-project-toke 3. Complete the steps to withdraw -4. Wait for the exchange to process your request. Once it is confirmed, you will immediately receive BNB to your Smart Chain address. \ No newline at end of file +4. Wait for the exchange to process your request. Once it is confirmed, you will immediately receive BNB to your Smart Chain address. + +## Which dApps are deployed on BSC? +Refer to [here](https://bnbproject.org/) to learn about the different projects deployed on BSC. + +## What to do if I transferred funds to exchange wallet but exchange doesn't support BSC chain? + +Please be careful while doing transaction to other exchanges check if they support or accept deposit through BSC or not. The confirmed transaction on blockchain cannot be reverted as we also don't have any access to the wallet address. + +## What to do in case of wrong network withdrawal issue? + +Please try to use wallet app which support both BSC and ETH network in it. So that you can access any network with same address and transfer your funds out of the wrong network. + + +## What to do in case of Missing memo or wrong memo? +Please try to contact support of the receiver address to help with the deposit. If it's an exchange wallet address then contact them with the correct memo. + +## How to track Cross-chain transfer tx From BC to BSC? + +1. Get Cross-chain transfer transaction hash of Binance Chain + +For example: https://explorer.binance.org/tx/8B9B066BAF9DC1C233A9D316C75E8139B985518868C1120B656C5B3EBAC7C498 + +Please make sure the “Transaction Type” is “Crosschain transfer out” + +![img](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/67020215774/original/qZ5KzDcOjCyKO2H42HftM15NEtcZTHwjfw.png?1629968129) + +2. Get Destination Address + +The “TxHash on BSC” is linked to Binance smart chain explorer + +![img](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/67020216076/original/YdIbat5IAnpWgQO0SuNX4zHY_rsF97fErA.png?1629968302) + +For example: https://www.bscscan.com/tx/0x43980b4f9ae4c03685dd61172d23ccae07eb8abb0d677c579bfc7059e447ead9 + +If "status" is success, it means this transaction is successful. + +The tokens were sent from "BSC: Token Hub" to receiver address . + +![img](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/67020216406/original/FsSI7rAvaRuwQ-60br8EmVgrWoFvxYN-_Q.png?1629968479) + +## How to connect Metamask to BNB Smart Chain? +Please refer [here](wallet/metamask.md) + +## How can I report a scam/ rug pull? + +If you meet any potential Scams, Phishing, Rug Pulls, and Hacks, please report through this portal: +https://forms.coinholmes.com + +Coinholmes.com is supported by Peckshield team (Professional security company) + +## How to reset Binance Extention Wallet? +If user has seed phrase then user can refer [here](wallet/extension/reset.md) to reset wallet. + +## How to apply for Pioneer Burn Refunding? + +The [self-service window](https://www.binance.com/en/my/wallet/uncredited_deposit/form?&coin=&network=&amount=&txId=tx) for [BNB Pioneer Burn Program](https://www.binance.com/en/support/announcement/7bcf4da5671d44a0a5118c2277773bb4) is now live. Eligible users who lose tokens as part of mistakes they made while making transactions on BNB Smart Chain can access this page and fill in the application form. We will investigate your case and help retrieve the assets if your case is qualified for the Program. + diff --git a/docs/BSC-FAQs-tokens.md b/docs/BSC-FAQs-tokens.md index d5157f9..cdac98a 100644 --- a/docs/BSC-FAQs-tokens.md +++ b/docs/BSC-FAQs-tokens.md @@ -4,7 +4,7 @@ hide_table_of_contents: false sidebar_position: 2 --- -# Tokens in Beacon Chain and BNB Smart Chain +# Tokens in Beacon Chain and BNB Smart Chain ## What role does BNB play in securing BNB Smart Chain ? @@ -16,7 +16,7 @@ BNB is the native token for BSC, and pegged BEP2 tokens on BSC is called BEP20. ## What is BEP2? -A simple token protocol for easy management of asset on Beacon Chain +A simple token protocol for easy management of asset on Beacon Chain BNB is BEP2 @@ -25,7 +25,7 @@ BNB is BEP2 A token protocol on BSC which is compatible with BEP2 and [ERC20](https://eips.ethereum.org/EIPS/eip-20). It extends ERC20 and contains more interfaces, such as `getOwner` and `decimals`. -Read the full proposal here: +Read the full proposal here: ## What is BEP8? @@ -33,8 +33,8 @@ It is proposed to accommodate the small or micro projects, intellectual properti Details: -* [BEP8 Proposal](https://github.com/binance-chain/BEPs/blob/master/BEP8.md) -* [Commandline Instructions](bep8.md) +* [BEP8 Proposal](https://github.com/bnb-chain/BEPs/blob/master/BEP8.md) +* [Commandline Instructions](beaconchain/learn/BEP8.md) ## How to issue BEP2 tokens? @@ -50,19 +50,19 @@ Please follow the guide [here](del-guide.md) ## How many tokens are required to stake BNB? -The [minimum delegated amount](validator/Parameters.md) is **1BNB**. +The [minimum delegated amount](parameters.md) is **1BNB**. ## Which wallets can be used to stake BNB? You can use: -* [command line tool](https://github.com/binance-chain/node/releases/tag/v0.8.1) -* [BNB Chain extension wallet](wallet/binance.md) +* [command line tool](https://github.com/bnb-chain/node/releases/tag/v0.8.1) +* [Binance Extension Wallet](wallet/binance.md) * [Math Wallet](http://blog.mathwallet.xyz/?p=3890) ## Where can I find out more about staking economics and rewards? -You can read details in White Paper: +You can read details in White Paper: ## Where do network rewards come from? @@ -73,4 +73,36 @@ Validators and delegators will earn rewards from the following sources: ## Which wallets can I use to store BNB? -You can see the list [here](Wallet.md) \ No newline at end of file +You can see the list [here](Wallet.md) + +## How to track Cross-chain transfer tx From BSC to BC? + +1. Get Cross-chain transfer tx hash of Binance Smart Chain + +For example: https://bscscan.com/tx/0xb6b941a3d44fec69902ea632eb96c6ffa51b3098576629c26ab34ce10deaf357 + +Please make sure the “Transaction Action” is “Transfer out” + +The transfer amount is denoted in the “value” field. + +![img](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/67013598745/original/zeVlALl0chXv_LpHGv0OmGqH8eudFy0utg.png?1622611333) + +2. Get Destination Address + +The “Cross Chain Package” is linked to BNB chain explorer + +![img](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/67013598743/original/-2gMcowNwo2VQNEAatHSzYBrlSfp0vsbxQ.png?1622611332) + +For example: https://api.binance.org/cross_chain/v1/tx/0xb6b941a3d44fec69902ea632eb96c6ffa51b3098576629c26ab34ce10deaf357 + + +If "has_refund" is false, it means this transaction is successful. + +The corresponding transaction hash on Binance chain is “cross_chain_tx_hash" + +The tokens were sent to “receiverAddresses”. + +![img](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/67013598744/original/yma7MlpuPQljanX3WFerZNukdQEPOiuy_A.png?1622611332) + + + diff --git a/docs/BSC-FAQs-validator.md b/docs/BSC-FAQs-validator.md index 5c8c019..5dd0f90 100644 --- a/docs/BSC-FAQs-validator.md +++ b/docs/BSC-FAQs-validator.md @@ -1,13 +1,12 @@ --- sidebar_label: BSC Validator FAQs -hide_table_of_contents: true +hide_table_of_contents: false sidebar_position: 2 --- -# BNB Smart Chain Validator FAQs - -### How does a validator node work? +# BNB Smart Chain Validator FAQs +### What is the role of BNB Smart Chain Validators? It powers the blockchain network by processing transactions and signing blocks. ### What are the incentives to run a validator node? @@ -65,7 +64,7 @@ Slashing is a punitive function that is triggered by a validator ’s bad action ### What is the process of getting selected as a validator node on BSC? -On BNB Smart Chain (BSC) network, validators are responsible for securing the network by processing transactions and signing blocks. Validator nodes are incentivized in the form of transaction fees for their good behavior. Currently, there are 11 validators on the testnest and 21 validators on the mainnet. Validators are selected every 24 hours. Anyone can become a candidate for the validator. To become part of the selection process of validators, the nodes have to stake their BNB. Validators can self-delegate (self-bound) BNB to themselves and can also receive delegations from any other BNB holders. The minimum amount for self-delegation is **10000BNB**. Only the top 21 highest-stake nodes are chosen to be part of the validator set. Get more details [here](https://docs.binance.org/smart-chain/validator/overview.html). +On BNB Smart Chain (BSC) network, validators are responsible for securing the network by processing transactions and signing blocks. Validator nodes are incentivized in the form of transaction fees for their good behavior. Currently, there are 11 validators on the testnest and 21 validators on the mainnet. Validators are selected every 24 hours. Anyone can become a candidate for the validator. To become part of the selection process of validators, the nodes have to stake their BNB. Validators can self-delegate (self-bound) BNB to themselves and can also receive delegations from any other BNB holders. The minimum amount for self-delegation is **10000BNB**. Only the top 21 highest-stake nodes are chosen to be part of the validator set. Get more details [here](https://docs.bnbchain.org/docs/validator/overview.html). ### How is the bad or malicious behavior of the validator nodes controlled in the BSC? @@ -84,7 +83,7 @@ Instead their reward will be distributed amongst other better performing validat ### What is the minimum amount for self-delegation to avoid being jailed? -The [minimum self-delegated amount](validator/Parameters.md) is **10000BNB**. +The [minimum self-delegated amount](parameters.md) is **10000BNB**. ### What is the unbounding time period? @@ -148,7 +147,7 @@ ERROR[11-02|06:02:55.001] Failed to open snapshot tree err="head doesn't match snapshot: have 0x5c17a8fc0164dabedd446e954b64e8a54fc7c8b4fee1bbd707c3cc3ed1e45fff, want 0x431565cee8b7f3d7bbdde1265304fa4574dc3531e511e9ffe43ae79d28e431d6" head doesn't match snapshot: have 0x5c17a8fc0164dabedd446e954b64e8a54fc7c8b4fee1bbd707c3cc3ed1e45fff, want 0x431565cee8b7f3 ~~~~ -This error occurs due to data corruption. You can run geth snapshot verify-state to double confirm whether the data is correct. You can download the latest snapshot from https://github.com/binance-chain/bsc-snapshots. By doing that, you don't have to prune-state in the future, save precious disk IO, it will help you keep up with syncing. +This error occurs due to data corruption. You can run geth snapshot verify-state to double confirm whether the data is correct. You can download the latest snapshot from https://github.com/bnb-chain/bsc-snapshots. By doing that, you don't have to prune-state in the future, save precious disk IO, it will help you keep up with syncing. ### What to do if Sync is slow on running the following command @@ -156,21 +155,23 @@ This error occurs due to data corruption. You can run geth snapshot verify-state *_start order: geth --config ./config.toml --datadir /data/server/data-seed/ --cache 20000 --rpc.allow-unprotected-txs --syncmode snap –diffsync --txlookuplimit 0_* ~~~~ -Try pruning the state -- stop geth, then run geth --datadir=node snapshot prune-state. Assuming that datadir is node, change that if it's elsewhere then restart after it's done. Follow https://github.com/binance-chain/bsc/issues/502 to get more tips about how to maintain a synced node. +Try pruning the state -- stop geth, then run geth --datadir=node - prune-state. Assuming that datadir is node, change that if it's elsewhere then restart after it's done. Follow https://github.com/bnb-chain/bsc/issues/502 to get more tips about how to maintain a synced node. ### How to start the geth node through snapshot to get node synced? -The two biggest bottlenecks are CPU and IOPS when syncing. Steps are as follows: download geth 1.1.5 and make it executable, optionally move it `/usr/local/bin/geth` +The two biggest bottlenecks are CPU and IOPS when syncing. Steps are as follows: + + * Download the latest version of geth from the [official site](https://github.com/bnb-chain/bsc-snapshots) and make it executable, optionally move it `/usr/local/bin/geth` - * download mainnet.zip and unzip + * Download mainnet.zip and unzip - * generate genesis using command below, will also create a mainnet folder for blockchain data ./geth_linux --datadir mainnet init genesis.json + * Generate genesis using command below, will also create a mainnet folder for blockchain data ./geth_linux --datadir mainnet init genesis.json - * download the 14 nov 2021 snapshot + * Download the latest snapshot from [here](https://github.com/bnb-chain/bsc-snapshots) - * extract snapshot + * Extract the snapshot - * move snapshot data to mainnet folder + * Move the snapshot data to mainnet folder `rm -rf mainnet/geth/chaindata` @@ -217,4 +218,4 @@ Due to network congestion, it is possible for the tx to appear after a delay. An * NVMe disk is better than SSD ### Can the location of the validator nodes be considered as playing factor in performance? Is there any way to get the enode or ips of the validator nodes? -The validators are usually running in a private network making it hard to connect or trace their location. Furthermore, it is suggested by community developers that EU is considered a better location in terms of performance. \ No newline at end of file +The validators are usually running in a private network making it hard to connect or trace their location. Furthermore, it is suggested by community developers that EU is considered a better location in terms of performance. diff --git a/docs/BSC-FAQs.md b/docs/BSC-FAQs.md index ce37385..20afe87 100644 --- a/docs/BSC-FAQs.md +++ b/docs/BSC-FAQs.md @@ -14,30 +14,32 @@ The execution of a Smart Contract may slow down the exchange function and add no ## Where will the published whitepaper be found? - and also , where feedback is more than welcome. + and also , where feedback is more than welcome. ## Where can I take a look at BNB Smart Chain code? Is there a GitHub repository? The codebase of BSC is open-sourced here: -* -* -* -* -* -* +* +* +* +* +* +* ## Where can I find some support? -* Technical talk and support running our software: Telegram -* Bugs or technical contributions: GitHub +* Technical talk and support running our software: + * Telegram + * Discord +* Bugs or technical contributions: GitHub * General discussion regarding our blockchain: Telegram -## Which are BNB Smart Chain 's official channels for communication and information? +## Which are BNB Smart Chain's official channels for communication and information? * Binance DEX announcements: -* Twitter: -* BNB Chain Forum: +* Twitter: +* BNB Chain Forum: ## Wallet support for BNB Smart Chain @@ -47,6 +49,11 @@ The codebase of BSC is open-sourced here: - [Arkane](wallet/arkane.md) - [Ledger](wallet/ledger.md) - [MEW](wallet/myetherwallet.md) + - [Trust Wallet](wallet/trustwallet.md) + - [ezDeFi](wallet/ezdefi.md) + - [SafePal](https://blog.safepal.io/pre-announcement-trade-on-dex-with-safepal/) + - [TokenPocket](https://tokenpocket-gm.medium.com/defi-with-tokenpocket-how-to-use-binance-smart-chain-swap-with-tokenpocket-e76d6cd7986) + ## How to recover if you choose the wrong network type? @@ -78,7 +85,7 @@ BNB Chain opens the gate for users to take advantage of the fast transferring an There are already [140 assets](https://explorer.binance.org/assets/bep2) on BNB Chain -The introduction of [BEP8](https://github.com/binance-chain/BEPs/blob/master/BEP8.md) is an innovative way for tokenization of properties +The introduction of [BEP8](https://github.com/bnb-chain/BEPs/blob/master/BEP8.md) is an innovative way for tokenization of properties ## What make BNB Smart Chain different? @@ -120,4 +127,6 @@ bnbcli params side-params --side-chain-id=bsc --node http://dataseed4.binan * Cross-chain relay fee: 0.004 BNB +## Which dApps are deployed on BSC? +Refer to [here](https://bnbproject.org/) to learn about the different projects deployed on BSC. diff --git a/docs/BSCexplorers.md b/docs/BSCexplorers.md index 9f74e29..ec96a6c 100644 --- a/docs/BSCexplorers.md +++ b/docs/BSCexplorers.md @@ -8,7 +8,7 @@ hide_table_of_contents: false BNB Smart Chain (BSC) explorers is a graphic user interface designed to allow users to interact with the blockchain. Through this interface, a user can browse information about blocks that have been added to the blockchain, transactions that have occurred on the blockchain, wallet balances, and information about BNB. -BNB Smart Chain (BSC) provides explorers for both it's mainnet and testnet. +BNB Smart Chain (BSC) provides explorers for both its mainnet and testnet. ### Explorers for Mainnet diff --git a/docs/BSCmainnet.md b/docs/BSCmainnet.md index bae3aea..3742bcb 100644 --- a/docs/BSCmainnet.md +++ b/docs/BSCmainnet.md @@ -1,8 +1,25 @@ --- sidebar_label: BSC Mainnet -sidebar_position: 2 -hide_table_of_contents: false --- + # BSC Mainnet -_Data Required_ \ No newline at end of file +## What is Mainnet? +Mainnet is the term used to describe when a blockchain protocol is fully developed and deployed, meaning that cryptocurrency transactions are being broadcasted, verified, and recorded on a distributed ledger technology (blockchain). + +BNB Smart Chain's mainnet can be used for deploying actual dApps on the BSC blockchain ad perform real transactions. Since this is the actual network, you will require to purchase real BNB tokens to perform different operations on the network. + +## How to Get BNB +There are multiple ways to purchase BNB Tokens for use on the mainnet. Other than the official [Binance Extension Wallet](binance.md), BNB Smart Chain supports several popular wallets like [MetaMask](wallet/metamask.md) and [TrustWallet](wallet/trustwallet.md), to learn more about the supported wallets refer [here](Wallet.md). For a list of tutorials on how to use different supported wallets with BNB Smart Chain, refer [here](wallets/wallet-tutorial-overview). + +## How to Access BSC +There are multiple ways to access the BSC mainnet. One possible method is to join the mainnet as a [full node](validator/guideline-mainnet.md). You can also use the RPC endpoints specified [here](rpc.md) to connect to the mainnet. RPC endpoints may be used to interact with a node directly over HTTP or websockets. Using RPC, you may perform low-level operations like executing ABCI queries, viewing network/consensus state or broadcasting a transaction. RPC endpoints are also used with web wallets like [MetaMask](wallet/metamask.md) to connect to the BSC mainnet. + +## How to Know BSC Ecosystem +To get an overview of the BNB Smart Chain, refer [here](learn/intro.md). To learn more about the ecosystem and the different development tools like APIs, IDEs, wallets, etc., that are available on the BSC network, you can refer [here](learn/ecosystem.md). You can visit [BNBProject](https://bnbproject.org/#/) or [DappRadar](https://dappradar.com/rankings/protocol/binance-smart-chain) to view real-time ranking and tracking of BSC projects. + +## How to Build on BSC +You can build deploy [smart contracts](remix.md), [NFTs](nft-metadata-standard.md), [BEP20 Tokens](BEP20.md), and [BEP20 Upgradable Contracts](proxy.md) on the BNB Smart Chain. + +## BSC Today +To get an overview of what is the current state and the future developements that BSC's team is working refer [here](dev-outlook-2022.md). diff --git a/docs/BSCtestnet.md b/docs/BSCtestnet.md index 3e5ff91..bd68aa2 100644 --- a/docs/BSCtestnet.md +++ b/docs/BSCtestnet.md @@ -1,25 +1,24 @@ --- sidebar_label: BSC Testnet -sidebar_position: 2 -hide_table_of_contents: false --- + # BSC Testnet ### What is a Testnet? The testnet is a test environment for BNB Smart Chain network, run by the BNB Chain development community, which is open to developers. -The validators on the testnet are from development team. +The validators on the testnet are from the development team. -You can connect a node to the testnet by downloading the [node binary](https://github.com/binance-chain/node-binary/tree/master/fullnode/testnet/0.6.3-hotfix) to use this [configuration](https://github.com/binance-chain/node-binary/tree/master/fullnode/testnet/0.6.3-hotfix/config). +You can connect a node to the testnet by downloading the [node binary](https://github.com/bnb-chain/node-binary/tree/master/fullnode/testnet/0.6.3-hotfix) to use this [configuration](https://github.com/bnb-chain/node-binary/tree/master/fullnode/testnet/0.6.3-hotfix/config). -There is also a [web wallet](https://testnet.binance.org/en/) that can directly interact with the DEX. testnet. +There is also a [web wallet](https://testnet.binance.org/en/) that can directly interact with the DEX testnet. ### What is the Testnet good for? - Create your test address and get your testnet funds. -- Develop applications and try tutorials on Binance Chain without the potential to lose your own assets. -- Test your applications against new versions of Binance Chain. +- Develop applications and try tutorials on BNB Smart Chain without the potential to lose your own assets. +- Test your applications against new versions of BNB Smart Chain. - Analyze blockchain data on a smaller, non-trivial data set compared to the public network. ### How to get Testnet Fund? @@ -29,20 +28,20 @@ The testnet faucet for BNB Chain can be accessed [here](https://testnet.binance. **Steps to claim testnet BNB:** -1. Create a new Wallet of BNB Smart Chain testnet with [MetaMask or MathWallet](https://docs.binance.org/wallets/bsc-wallets.html) +1. Create a new Wallet of BNB Smart Chain testnet with [MetaMask or MathWallet](https://docs.bnbchain.org/docs/wallets/wallet-tutorial-overview) 2. Get Testnet Fund: https://testnet.binance.org/faucet-smart To request funds, please make a tweet with your BNB Smart Chain address pasted into the contents. Then, copy-paste the tweets URL! **BNB** will be sent to your BSC wallet right away. -3. Transfer From BNB Smart Chain to Binance Chain +3. Transfer From BNB Smart Chain to Beacon Chain -You can use [Binance Extension Wallet](https://docs.binance.org/smart-chain/wallet/binance.html#transfer-testnet-bnb-from-bsc-to-bc) for cross-chain transfer. +You can use [Binance Extension Wallet](https://docs.bnbchain.org/docs/binance#transfer-testnet-bnb-from-bsc-to-bc) for cross-chain transfer. -If you wish to test Binance Chain features, you could transfer BNB cross-chain with MathWallet dApp: -https://docs.binance.org/smart-chain/wallet/math.html#transfer-bnb-from-bsc-to-bc +If you wish to test Beacon Chain features, you could transfer BNB cross-chain with MathWallet dApp: +https://docs.bnbchain.org/docs/wallet/math#transfer-bnb-from-bsc-to-bc-in-testnet ### Explorers for Testnet * BscSCAN - https://testnet.bscscan.com/ - * Bitquery - https://explorer.bitquery.io/bsc_testnet \ No newline at end of file + * Bitquery - https://explorer.bitquery.io/bsc_testnet diff --git a/docs/ERC721.md b/docs/ERC721.md index 53dcde4..0948661 100644 --- a/docs/ERC721.md +++ b/docs/ERC721.md @@ -4,7 +4,7 @@ hide_table_of_contents: false sidebar_position: 2 --- -# Deploy NFT on BSC +# Deploy NFTs on BSC > This work is inspired by [this blog](https://forum.openzeppelin.com/t/draft-create-an-nft-and-deploy-to-a-public-testnet-using-truffle/2961) @@ -35,7 +35,7 @@ Next we install a development tool for deployment, for this tutorial we will use $ npm i truffle ``` -## Getting the contract artifacts +## Getting the Contract Artifacts We will setup our Solidity project using `truffle init` to create a `contracts` directory and configuration to connect to a network. @@ -70,7 +70,7 @@ module.exports = function(deployer) { }; ``` -## Deploy the contract to a local blockchain +## Deploy the Contract to a Local Blockchain We will use [`truffle develop`](https://www.trufflesuite.com/docs/truffle/reference/truffle-commands#develop) to open a Truffle console with a development blockchain @@ -242,11 +242,11 @@ truffle(develop)> nft = await ERC721PresetMinterPauserAutoId.deployed() undefined ``` -## Interact with our Token +## Interact With Your Token The accounts that we can use were displayed when we started `truffle develop` -### Token metadata +### Token Metadata We can call the contract to read token metadata such as `name`, `symbol` and `baseURI` @@ -290,7 +290,7 @@ truffle(develop)> await nft.ownerOf(1) truffle(develop)> await nft.tokenURI(1) ``` -## MetaData +## Metadata [EIP-721 2](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md) includes an optional **metadata extension** with a `name`, `symbol` and for each tokenID a `tokenURI` with can point to a JSON file with `name`, `description` and `image` for the given token ID. @@ -304,7 +304,7 @@ For this tutorial, we will use [My JSON Server](https://my-json-server.typicode. A sample JSON for tokenID 1 is: [http://my-json-server.typicode.com/huangsuyu/nft/tokens/1](http://my-json-server.typicode.com/huangsuyu/nft/tokens/1) -## Deploy to a public testnet +## Deploy to a Public Testnet Next we will deploy to BNB Smart Chain testnet . diff --git a/docs/Integrate.md b/docs/Integrate.md index f0b5195..7919dde 100644 --- a/docs/Integrate.md +++ b/docs/Integrate.md @@ -8,11 +8,11 @@ hide_table_of_contents: false There are public nodes running by BNB Chain community which will allow you to interact with the blockchain. ### REST API -[Accelerated nodes](https://docs.binance.org/faq.html#what-is-the-accelerated-node) provide advanced API services for the public.
-List of all the Rest API information available on accelerated node can be found: [here](api-reference/dex-api/paths.md) +[Accelerated nodes](https://docs.bnbchain.org/docs/beaconchain/faq/faq#what-is-the-accelerated-node) provide advanced API services for the public.
+The list of all the Rest API information available on accelerated node can be found: [here](api-reference/dex-api/paths.md) ### Node RPC -There are multiple data seed node in the network which allow users to perform low-level operations like executing ABCI queries, broadcasting a transaction or viewing network/consensus state.
+There are multiple data seed nodes in the network which allow users to perform low-level operations like executing ABCI queries, broadcasting a transaction or viewing network/consensus state.
If you run a full node by yourself, you can also use those RPC functions.
List of all endpoints Node RPC service provides can be found: [here](api-reference/node-rpc.md) @@ -25,8 +25,7 @@ Command Line Interface is currently available for Linux, Mac and Windows.
Please refer to the [CLI Reference](api-reference/cli.md). ## SDKs -There are multiple advanced SDK solutions available for Beacon Chain.
-Majority of SDKs provide simplified functions to: +There are multiple advanced SDK solutions available for BNB Chain. The majority of SDKs provide simplified functions to: - Create wallets and manage keys - Encode/sign transactions and submit to Beacon Chain/DEX, including Transfer, New Order, Cancel Order, etc. @@ -34,13 +33,13 @@ Majority of SDKs provide simplified functions to: List of currently available SDKs and their respective documentations: -- [Go](https://github.com/binance-chain/go-sdk) - [Documentation](https://github.com/binance-chain/go-sdk/wiki) -- [Java](https://github.com/binance-chain/java-sdk) - [Documentation](https://github.com/binance-chain/java-sdk/wiki) -- [JavaScript](https://github.com/binance-chain/javascript-sdk) - [Documentation](https://github.com/binance-chain/javascript-sdk/wiki) -- [C++](https://github.com/binance-chain/cplusplus-sdk) - [Documentation](https://github.com/binance-chain/cplusplus-sdk/wiki) -- [C#](https://github.com/binance-chain/csharp-sdk) - [Documentation](https://github.com/binance-chain/csharp-sdk) -- [Python](https://github.com/binance-chain/python-sdk) - [Documentation](https://python-binance-chain.readthedocs.io/en/latest/binance-chain.html#module-binance_chain) -- [Swift](https://github.com/binance-chain/swift-sdk) - [Documentation](https://github.com/binance-chain/swift-sdk/blob/master/README.md) +- [Go](https://github.com/bnb-chain/go-sdk) - [Documentation](https://github.com/bnb-chain/go-sdk/wiki) +- [Java](https://github.com/bnb-chain/java-sdk) - [Documentation](https://github.com/bnb-chain/java-sdk/wiki) +- [JavaScript](https://github.com/bnb-chain/javascript-sdk) - [Documentation](https://github.com/bnb-chain/javascript-sdk/wiki) +- [C++](https://github.com/bnb-chain/cplusplus-sdk) - [Documentation](https://github.com/bnb-chain/cplusplus-sdk/wiki) +- [C#](https://github.com/bnb-chain/csharp-sdk) - [Documentation](https://github.com/bnb-chain/csharp-sdk) +- [Python](https://github.com/bnb-chain/python-sdk) - [Documentation](https://python-bnb-chain.readthedocs.io/en/latest/bnb-chain.html#module-binance_chain) +- [Swift](https://github.com/bnb-chain/swift-sdk) - [Documentation](https://github.com/bnb-chain/swift-sdk/blob/master/README.md) ## Important: Ensuring Transaction Finality @@ -102,7 +101,7 @@ If you haven't received anything after a couple of blocks, resend the transactio ### The Recommended Way (via WebSocket) -If you want to be sure that the transaction is included in a block, you can subscribe for the result using JSONRPC via a websocket. See [Subscribing to Events via WebSocket](https://docs.binance.org/api-reference/node-rpc.html#631-subscribe). +If you want to be sure that the transaction is included in a block, you can subscribe for the result using JSONRPC via a websocket. See [Subscribing to Events via WebSocket](https://docs.bnbchain.org/docs/beaconchain/develop/api-reference/node-rpc#631-subscribe). ### The Alternative Way (via RPC Polling) diff --git a/docs/Wallet.md b/docs/Wallet.md index 44ebf22..2e48e81 100644 --- a/docs/Wallet.md +++ b/docs/Wallet.md @@ -6,7 +6,7 @@ hide_table_of_contents: false # Wallet Guide ## What is a Wallet? -A crypto wallet is a device or program used for transfer and storage of cryptocurrency. Crypto wallets can be of ifferent types, such as paper wallets, hardware wallets, and software wallets. There are also several smartphone mobile apps and computer programs that provide a user-friendly way to create and manage wallets. Along with crytocurreny, crypto wallets store a collection of crypto keys that are used for sending, receiving, and taracking ownership of cryptocurrencies. +A crypto wallet is a device or program used for transfer and storage of cryptocurrency. Crypto wallets can be of different types, such as paper wallets, hardware wallets, and software wallets. There are also several smartphone mobile apps and computer programs that provide a user-friendly way to create and manage wallets. Along with crytocurreny, crypto wallets store a collection of crypto keys that are used for sending, receiving, and taracking ownership of cryptocurrencies. A keypair is a cryptographically-derived securely generated private and public keys. A private key and its corresponding public key are together known as a keypair. A wallet contains a collection of one or more keypairs and provides some means to interact with them. The security of any crypto wallet depends upon how the private key is stored. @@ -27,7 +27,7 @@ If you want to be able to receive BNB and other supported tokens on the Binance | 1 | Binance Extension Wallet | | Yes | | 2 | [Trust Wallet](wallet/trustwallet.md) | | Yes | |3 | [Math Wallet](wallet/math.md)|| Yes | -|4s | [SafePal](https://blog.safepal.io/binance-smart-chain-x-safepal/)| | No | +|4 | [SafePal](https://blog.safepal.io/binance-smart-chain-x-safepal/)| | No | |5 |[TokenPocket](https://tokenpocket-gm.medium.com/defi-with-tokenpocket-how-to-use-binance-smart-chain-swap-with-tokenpocket-e76d6cd7986)| | No | |6 | [Arkane](wallet/arkane.md)||No| |7|[MetaMask](wallet/metamask.md)||No| diff --git a/docs/add-account.md b/docs/add-account.md index 4274ebb..a1debf1 100644 --- a/docs/add-account.md +++ b/docs/add-account.md @@ -7,11 +7,12 @@ sidebar_position: 2 # How does Add Account Work ## BIP39 -[Bitcoin Improvement Proposal (BIP) 39](https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki) defines a formula forthe generation of a mnemonic sentence (also referred to as mnemonic words, seed phrase, recovery phrase, etc.)the generation of a seed from that mnemonic sentence. That seed is used to produce your private and public keys, but those details will be covered in the next post in this series. +[Bitcoin Improvement Proposal (BIP) 39](https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki) defines a formula for the generation of a mnemonic sentence (also referred to as mnemonic words, seed phrase, recovery phrase, etc.) the generation of a seed from that mnemonic sentence. The seed pharse is used to produce your private and public keys. + ## BIP32 -[BIP 32](https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki) is a specification for creating [Hierarchical Deterministic wallets](https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki). They are wallets that, from a root it can generate multiple "child" private keys in a deterministic way. You only need to remember the "path" of the child key.For example hardware wallets use them from a single root you can generate separate keys for Bitcoin (with path m/44'/0'/0'/0) and Ethereum (path m/44'/60'/0'/0). +[BIP 32](https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki) is a specification for creating [Hierarchical Deterministic wallets](https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki). They are wallets that from a root can generate multiple "child" private keys in a deterministic way. You only need to remember the "path" of the child key.For example hardware wallets use them from a single root you can generate separate keys for Bitcoin (with path m/44'/0'/0'/0) and Ethereum (path m/44'/60'/0'/0). -## Add Account in Extension Wallet +## Add Account in Binance Extension Wallet BNB Chain extension wallet would use a similar way to generate keys as Ethereum, i.e. derive the private key using BIP32/BIP44 with HD prefix as "44'/60'/", which is the same as Ethereum's derivation path. ![img](https://camo.githubusercontent.com/27efab81cd5ca43ba036a29bc4e2dfdfda88cac69de2880385335d0a4234619a/68747470733a2f2f6c68332e676f6f676c6575736572636f6e74656e742e636f6d2f73506b703861503069334161766e6176506255473459777a6666324649694c724f754b7372636a34706365687a39414c716f7553705f61715f54315354485953324d43414e6145776367687135795076376f4a78414f39476d4d5869666d7a3936514a2d4457496350337063432d786355736d317a3763416f31456e4b5f54707a5f31646b643742) diff --git a/docs/api-reference/cli.md b/docs/api-reference/cli.md index 9a5c8ee..969510c 100644 --- a/docs/api-reference/cli.md +++ b/docs/api-reference/cli.md @@ -14,9 +14,9 @@ balance, transaction detail by transaction hash and etc. ## Where can I download the BNB CLI? -You can download BNB CLI releases here: [https://github.com/binance-chain/node-binary](https://github.com/binance-chain/node-binary/tree/master/cli) +You can download BNB CLI releases from [here] (https://github.com/bnb-chain/node-binary/tree/master/cli) ``` -git clone https://github.com/binance-chain/node-binary.git +git clone https://github.com/bnb-chain/node-binary.git ``` You can choose to download the version for testnet or mainnet. Replace the network var with `testnet` or` prod` in the following command: ``` diff --git a/docs/assets/Picture168.png b/docs/assets/Picture168.png new file mode 100644 index 0000000..724ce2e Binary files /dev/null and b/docs/assets/Picture168.png differ diff --git a/docs/assets/picture1.png b/docs/assets/picture1.png new file mode 100644 index 0000000..018b9a0 Binary files /dev/null and b/docs/assets/picture1.png differ diff --git a/docs/assets/picture2.png b/docs/assets/picture2.png new file mode 100644 index 0000000..2d0f2db Binary files /dev/null and b/docs/assets/picture2.png differ diff --git a/docs/assets/picture3.png b/docs/assets/picture3.png new file mode 100644 index 0000000..0e9d17f Binary files /dev/null and b/docs/assets/picture3.png differ diff --git a/docs/assets/picture4.png b/docs/assets/picture4.png new file mode 100644 index 0000000..e04fd0c Binary files /dev/null and b/docs/assets/picture4.png differ diff --git a/docs/assets/picture5.png b/docs/assets/picture5.png new file mode 100644 index 0000000..0874f3c Binary files /dev/null and b/docs/assets/picture5.png differ diff --git a/docs/assets/picture6.png b/docs/assets/picture6.png new file mode 100644 index 0000000..70a153c Binary files /dev/null and b/docs/assets/picture6.png differ diff --git a/docs/assets/picture7.png b/docs/assets/picture7.png new file mode 100644 index 0000000..77bad67 Binary files /dev/null and b/docs/assets/picture7.png differ diff --git a/docs/beaconchain/CONTRIBUTING.md b/docs/beaconchain/CONTRIBUTING.md index 32f135c..85d3b2f 100644 --- a/docs/beaconchain/CONTRIBUTING.md +++ b/docs/beaconchain/CONTRIBUTING.md @@ -1,6 +1,6 @@ # How to Contribute to BNB Chain Documentations Project -Your contributions to the [BNB Chain ](https://www.binance.org/) will help build a fast and secure decentralized digital asset exchange. +Your contributions to the [BNB Chain](https://www.binance.org/en) will help build a fast and secure decentralized digital asset exchange. We want to make it as easy as possible to contribute changes that help the BNB Chain grow and thrive. There are a few guidelines that we ask contributors to follow so that we can merge your changes quickly. @@ -39,7 +39,7 @@ Of course, feel free to create a new issue if you think something needs to be ad * Push your changes to a topic branch in your fork of the repository. -* Submit a pull request to the [docs repository](https://github.com/binance-chain/docs-site) in the BNB Chain organization. +* Submit a pull request to the [docs repository](https://github.com/bnb-chain/bnb-chain.github.io) in the BNB Chain organization. * Include a descriptive [commit message][commit-msg]. * Changes contributed via pull request should focus on a single issue at a time. * Rebase your local changes against the master branch. Resolve any conflicts that arise. diff --git a/docs/beaconchain/atomic-swap.md b/docs/beaconchain/atomic-swap.md index 613d22d..efb2ae6 100644 --- a/docs/beaconchain/atomic-swap.md +++ b/docs/beaconchain/atomic-swap.md @@ -1,5 +1,5 @@ ## Introduction -As explained in [BEP3](https://github.com/binance-chain/BEPs/blob/master/BEP3.md), Hash Timer Locked Contract(HTLC) has been used for Atomic Swap and cross payment channels between different blockchains. BEP3 defines native transactions to support HTLC on Beacon Chain and also proposes the standard infrastructure and procedure to use HTLC for inter-chain atomic swap to easily create and use pegged token. +As explained in [BEP3](https://github.com/bnb-chain/BEPs/blob/master/BEP3.md), Hash Timer Locked Contract(HTLC) has been used for Atomic Swap and cross payment channels between different blockchains. BEP3 defines native transactions to support HTLC on Beacon Chain and also proposes the standard infrastructure and procedure to use HTLC for inter-chain atomic swap to easily create and use pegged token. During the swap process, the related fund will be locked to a purely-code-controlled escrow account. A purely-code-controlled escrow account is a kind of account which is derived from a hard-coded string in Beacon chain protocol. This kind of account doesn't have its own private key and it's only controlled by code of the protocol. The code for calculating escrow account is the same that is used in [cosmos-sdk](https://github.com/cosmos/cosmos-sdk/blob/82a2c5d6d86ffd761f0162b93f0aaa57b7f66fe7/x/supply/internal/types/account.go#L40): ``` @@ -389,8 +389,8 @@ refundHTLT | N/A | 0.000375 BNB | Y ### Preparations -1. Deploy smart-contract which supports Atomic Peg Swap (APS), there is already [one example](https://github.com/binance-chain/bep3-smartcontracts) for Ethereum -2. Deploy `deputy` process for handling swap activities by token owners, there is an existing open-source solution here: +1. Deploy smart-contract which supports Atomic Peg Swap (APS), there is already [one example](https://github.com/bnb-chain/bep3-smartcontracts) for Ethereum +2. Deploy `deputy` process for handling swap activities by token owners, there is an existing open-source solution here: 3. Issue and transfer enough tokens ### Testnet Deployment @@ -445,7 +445,7 @@ Then, Deputy will send `HTLT` transaction [here](https://testnet-explorer.binanc ] ``` -You can also get swapID by [calculateSwapID in javascript-sdk](https://github.com/binance-chain/javascript-sdk/blob/91b4d39e96e6433c16a3a1288931f84923075543/src/utils/index.js#L266). It requires three parameters: +You can also get swapID by [calculateSwapID in javascript-sdk](https://github.com/bnb-chain/javascript-sdk/blob/91b4d39e96e6433c16a3a1288931f84923075543/src/utils/index.js#L266). It requires three parameters: | Name | Type | Description | Example | |-- | -- | -- | -- | diff --git a/docs/beaconchain/bc-tutorials.md b/docs/beaconchain/bc-tutorials.md new file mode 100644 index 0000000..0b93539 --- /dev/null +++ b/docs/beaconchain/bc-tutorials.md @@ -0,0 +1,23 @@ +--- +sidebar_label: Tutorials +hide_table_of_contents: false +--- + +# Tutorials +In this section, we have provided tutorials on usage of different components of Beacon Chain. + +### Full Node + * Tutorial on [How to Run Full Node on BNB Beacon Chain Mainnet](develop/node/join-mainnet.md) + * Tutorial on [How to Run Full Node on BNB Beacon Chain Testnet](develop/node/join-testnet.md) + * Tutorial on [How to Get Extra Info from your Full Node](develop/node/extra-info.md) + * Tutorial on [How to Upgrade your Full Node on BNB Beacon Chain](develop/node/upgrade.md) + * Tutorial on [How to Run a Single Node on a Local Network](develop/node/localnetwork) +### Running Clients + * Tutorial on [How to Run BNB Beacon Chain Client](develop/api-reference/cli.md) + * Tutorial on [How to Run Light Client on BNB Beacon Chain](light-client.md) +### Wallets + * [List of Supported Wallets](wallets) + * Tutorial on [How to Use Trust Wallet with Beacon Chain](wallet/tutorial/how-to-create-a-wallet-on-trustwallet) + * Tutorial on [How to Use Ledger Nano S Hardware Wallet with Beacon Chain](wallet/tutorial/ledger-nano-s-usage-guide) + * Tutorial on [How to Use Trezor Hardware Wallet with Beacon Chain](wallet/tutorial/trezor-model-t-user-guide) + * Tutorial on [How to manage your BEP8 tokens in BNB Chain Testnet Web Wallet](wallet/tutorial/bep8) diff --git a/docs/beaconchain/blockchain.md b/docs/beaconchain/blockchain.md index dc4cce1..0073547 100644 --- a/docs/beaconchain/blockchain.md +++ b/docs/beaconchain/blockchain.md @@ -1,6 +1,6 @@ -# The Beacon Chain Blockchain +# The Beacon Chain Blockchain -The purpose of the new blockchain and DEX is to create an alternative marketplace for issuing and exchanging digital assets in a decentralized manner. +The purpose of the Beacon Chain blockchain and DEX is to create an alternative marketplace for issuing and exchanging digital assets in a decentralized manner. ## Consensus Details diff --git a/docs/beaconchain/chain-access.md b/docs/beaconchain/chain-access.md index 59d27cf..6731ff2 100644 --- a/docs/beaconchain/chain-access.md +++ b/docs/beaconchain/chain-access.md @@ -1,6 +1,6 @@ # How to Access Beacon Chain -[Get Started](get-started.md) pages already show how to access Beacon Chain and DEX via +[Get Started](get-started.md) pages already show how to access Beacon Chain and DEX via Wallet and Explorers. Here we would like to dive into some technology details for access in a programming way. diff --git a/docs/beaconchain/changelog.md b/docs/beaconchain/changelog.md index 9868610..66d9cf3 100644 --- a/docs/beaconchain/changelog.md +++ b/docs/beaconchain/changelog.md @@ -482,7 +482,7 @@ In the `AtomicSwap` data structure: ### WebSocket -As described in https://docs.binance.org/api-reference/dex-api/ws-streams.html#6-book-depth-streams, you can now customize the returned level from orderbook. The default level is 20 and you can extend the level to 100, 500, or 1000 with compression enabled. +As described in https://docs.bnbchain.org/docs/beaconchain/develop/api-reference/dex-api/ws-streams#6-book-depth-streams, you can now customize the returned level from orderbook. The default level is 20 and you can extend the level to 100, 500, or 1000 with compression enabled. * Example on mainnet: ``` @@ -676,7 +676,7 @@ This new function is for getting the timelock history of an address by id. ### HTTP API -As you know, There are some accelerate nodes which provides some advanced API services for the public. Here is a list of all the HTTP API information it provides on mainnet: https://docs.binance.org/api-reference/dex-api/paths.html +As you know, There are some accelerate nodes which provides some advanced API services for the public. Here is a list of all the HTTP API information it provides on mainnet: https://docs.bnbchain.org/docs/beaconchain/develop/api-reference/dex-api/paths In the latest update of HTTP API for testnet, there are the following changes: @@ -702,7 +702,7 @@ In the `Account` data structure, a new field `flags` is added to indicate the co ### HTTP API -As you know, There are some accelerate nodes which provides some advanced API services for the public. Here is a list of all the HTTP API information it provides on mainnet: https://docs.binance.org/api-reference/dex-api/paths.html +As you know, There are some accelerate nodes which provides some advanced API services for the public. Here is a list of all the HTTP API information it provides on mainnet: https://docs.bnbchain.org/docs/beaconchain/develop/api-reference/dex-api/paths In the latest update of HTTP API for testnet, there are the following changes: @@ -838,7 +838,7 @@ In received Payload of `trades`, a new filed `tt` is added. Its enumerate values ### Extra data from your fullnode -All those [extra info](https://docs.binance.org/get-extra-data-from-fullnode.html#publish-different-messages-to-local-files ) can also be found in exported data from your fullnode. +All those [extra info](get-extra-data-from-fullnode.md#publish-different-messages-to-local-files ) can also be found in exported data from your fullnode. ***Changes*** diff --git a/docs/beaconchain/develop/api-reference/cli.md b/docs/beaconchain/develop/api-reference/cli.md index 8e3f78e..bd38860 100644 --- a/docs/beaconchain/develop/api-reference/cli.md +++ b/docs/beaconchain/develop/api-reference/cli.md @@ -5,8 +5,8 @@ Beacon Chain CLI is one of several ways to interact with Beacon Chain. Beacon Chain CLI can be used as a local wallet, you can manage your keys via Binance CLI. You can add a new key or restore your key from mnemonic words. And you can list your keys and show specified key info. -With Beacon Chain CLI, you can send transactions to Beacon Chain, like placing an order, transferring token, -issuing token and so on. Actually you can do almost everything you can do with Beacon Chain web wallet. What is +With Beacon Chain CLI, you can send transactions to Beacon Chain, like placing an order, transferring tokens, +issuing tokens and so on. Actually you can do almost everything you can do with Beacon Chain web wallet. What is more, you can propose to list trading pairs and join chain governance. In addition, you can do some simple queries through CLI. For example, you can query your account's @@ -14,9 +14,9 @@ balance, transaction detail by transaction hash and etc. ## Where can I download the Beacon Chain CLI? -You can download Beacon Chain CLI releases here: [https://github.com/binance-chain/node-binary](https://github.com/binance-chain/node-binary/tree/master/cli) +You can download Beacon Chain CLI releases here: [https://github.com/bnb-chain/node-binary](https://github.com/bnb-chain/node-binary/tree/master/cli) ``` -git clone https://github.com/binance-chain/node-binary.git +git clone https://github.com/bnb-chain/node-binary.git ``` You can choose to download the version for testnet or mainnet. Replace the network var with `testnet` or` prod` in the following command: ``` @@ -52,11 +52,11 @@ C:\> tbnbcli.exe ## Where to connect -You can manage you keys locally without connecting to any node. But if you want to interact with Beacon Chain, you need to connect to one of Beacon Chain full nodes. +You can manage your keys locally without connecting to any node. But if you want to interact with Beacon Chain, you need to connect to one of Beacon Chain full nodes. You can run your own full node, which may automatically connect to Beacon Chain, and you can run your CLI there with your own full node. In the mean time, you can connect to any full nodes provided by other people. -You could query this API for for a list of full node on mainnet: . +You could query this API for a list of full node on mainnet: . For testnet, visit . diff --git a/docs/beaconchain/develop/api-reference/sdk.md b/docs/beaconchain/develop/api-reference/sdk.md index a0a90ee..fc2f072 100644 --- a/docs/beaconchain/develop/api-reference/sdk.md +++ b/docs/beaconchain/develop/api-reference/sdk.md @@ -2,13 +2,13 @@ Here the client SDK is used to connect to Binance Chain and DEX. There are libraries in a few programming languages, including: -- [Go](https://github.com/binance-chain/go-sdk)([Documentation](https://github.com/binance-chain/go-sdk/wiki)) -- [Java](https://github.com/binance-chain/java-sdk)([Documentation](https://github.com/binance-chain/java-sdk/wiki)) -- [Javascript](https://github.com/binance-chain/javascript-sdk) ([Documentation](https://github.com/binance-chain/javascript-sdk/wiki)) -- [C++](https://github.com/binance-chain/cplusplus-sdk)([Documentation](https://github.com/binance-chain/cplusplus-sdk/wiki)) -- [C#](https://github.com/binance-chain/csharp-sdk)([Documentation](https://github.com/binance-chain/csharp-sdk)) -- [Python](https://github.com/binance-chain/python-sdk)([Documentation](https://python-binance-chain.readthedocs.io/en/latest/binance-chain.html#module-binance_chain)) -- [Swift](https://github.com/binance-chain/swift-sdk)([Documentation](https://github.com/binance-chain/swift-sdk/blob/master/README.md)) +- [Go](https://github.com/bnb-chain/go-sdk)([Documentation](https://github.com/bnb-chain/go-sdk/wiki)) +- [Java](https://github.com/bnb-chain/java-sdk)([Documentation](https://github.com/bnb-chain/java-sdk/wiki)) +- [Javascript](https://github.com/bnb-chain/javascript-sdk) ([Documentation](https://github.com/bnb-chain/javascript-sdk/wiki)) +- [C++](https://github.com/bnb-chain/cplusplus-sdk)([Documentation](https://github.com/bnb-chain/cplusplus-sdk/wiki)) +- [C#](https://github.com/bnb-chain/csharp-sdk)([Documentation](https://github.com/bnb-chain/csharp-sdk)) +- [Python](https://github.com/bnb-chain/python-sdk)([Documentation](https://python-bnb-chain.readthedocs.io/en/latest/bnb-chain.html#module-binance_chain)) +- [Swift](https://github.com/bnb-chain/swift-sdk)([Documentation](https://github.com/bnb-chain/swift-sdk/blob/master/README.md)) If you write one for another language, welcome to share it! diff --git a/docs/beaconchain/develop/api-reference/transactions.md b/docs/beaconchain/develop/api-reference/transactions.md index 8ab59ba..66e1df1 100644 --- a/docs/beaconchain/develop/api-reference/transactions.md +++ b/docs/beaconchain/develop/api-reference/transactions.md @@ -92,7 +92,7 @@ There is an example on how this prefix is used in JavaScript [here](https://gith More documentation is available [here](../../learn/encoding/encoding.md) -Binance Chain JavaScript SDK Amino API [example](https://github.com/binance-chain/javascript-sdk/wiki/API-Examples#amino-js-amino) +Binance Chain JavaScript SDK Amino API [example](https://github.com/bnb-chain/javascript-sdk/wiki/API-Examples#amino-js-amino) | Type | Name | Prefix | Length | Notes | diff --git a/docs/beaconchain/develop/node/extra-info.md b/docs/beaconchain/develop/node/extra-info.md index d0591c5..20c3c53 100644 --- a/docs/beaconchain/develop/node/extra-info.md +++ b/docs/beaconchain/develop/node/extra-info.md @@ -28,7 +28,7 @@ Then, the full node will save all the trades that have been filled, orders that * Example: -All those [extra info](https://docs.binance.org/get-extra-data-from-fullnode.html#publish-different-messages-to-local-files ) can also be found in exported data from your fullnode. +All those [extra info](../../get-extra-data-from-fullnode.md#publish-different-messages-to-local-files) can also be found in exported data from your fullnode. ### Changes In `trade` data structure, there are five new fields: `SSrc`,`BSrc`,`SSingleFee`, `BSingleFee` and `TickerType`. diff --git a/docs/beaconchain/develop/node/fullnode-faq.md b/docs/beaconchain/develop/node/fullnode-faq.md index a6a3e8d..1f00afb 100644 --- a/docs/beaconchain/develop/node/fullnode-faq.md +++ b/docs/beaconchain/develop/node/fullnode-faq.md @@ -149,7 +149,7 @@ If you do not download the binaries completely, you will see the following messa ./bnbchaind: line 1: version: command not found ./bnbchaind: line 2: oid: command not found /Library/Developer/CommandLineTools/usr/bin/size: 45160816 No such file or directory ``` -Since all the binaries are stored in `git lfs`, you will see this error is the binary is not complete. Please use this [script](https://github.com/binance-chain/node-binary/blob/master/install.sh) to download the binaries or use `git lfs clone`. +Since all the binaries are stored in `git lfs`, you will see this error is the binary is not complete. Please use this [script](https://github.com/bnb-chain/node-binary/blob/master/install.sh) to download the binaries or use `git lfs clone`. #### Cannot query a specific block diff --git a/docs/beaconchain/develop/node/fullnodeissue.md b/docs/beaconchain/develop/node/fullnodeissue.md index 14d8eb5..31781fc 100644 --- a/docs/beaconchain/develop/node/fullnodeissue.md +++ b/docs/beaconchain/develop/node/fullnodeissue.md @@ -127,7 +127,7 @@ To recover from the `state` conflict error, you need to: * Backup your home directory, (default is ~/.bnbchaind) -* Download the tool: [state-recover](https://github.com/binance-chain/node-binary/tree/master/tools/recover) +* Download the tool: [state-recover](https://github.com/bnb-chain/node-binary/tree/master/tools/recover) * Get the height of upgrade, this height will be announced in the upgrade announcement on the forum. For example, if it's announced as 5000 in the forum and run the following command will make your full node recover to the last block before the upgrade, and that is 4999 : ``` @@ -161,7 +161,7 @@ If you do not download the binaries completely, you will see the following messa ./bnbchaind: line 1: version: command not found ./bnbchaind: line 2: oid: command not found /Library/Developer/CommandLineTools/usr/bin/size: 45160816 No such file or directory ``` -Since all the binaries are stored in `git lfs`, you will see this error is the binary is not complete. Please use this [script](https://github.com/binance-chain/node-binary/blob/master/install.sh) to download the binaries or use `git lfs clone`. +Since all the binaries are stored in `git lfs`, you will see this error is the binary is not complete. Please use this [script](https://github.com/bnb-chain/node-binary/blob/master/install.sh) to download the binaries or use `git lfs clone`. #### Cannot query a specific block diff --git a/docs/beaconchain/develop/node/install.md b/docs/beaconchain/develop/node/install.md index 7754958..533831f 100644 --- a/docs/beaconchain/develop/node/install.md +++ b/docs/beaconchain/develop/node/install.md @@ -14,7 +14,7 @@ We have a community-maintained installer script (`install.sh`) that takes care o ``` # One-line install -sh <(wget -qO- https://raw.githubusercontent.com/binance-chain/node-binary/master/install.sh) +sh <(wget -qO- https://raw.githubusercontent.com/bnb-chain/node-binary/master/install.sh) ``` The script will install the `bnbchain`, `bnbcli` and `tbnbcli` binaries. Verify that everything is OK: ```shell @@ -34,14 +34,14 @@ Please go to https://git-lfs.github.com/ and install `git lfs`. 2. Download Binary with Git LFS: ``` -git lfs clone https://github.com/binance-chain/node-binary.git +git lfs clone https://github.com/bnb-chain/node-binary.git ``` -Please go to [changelog](https://github.com/binance-chain/node-binary/blob/master/fullnode/Changelog.md) to get the information about the latest release of full node version. +Please go to [changelog](https://github.com/bnb-chain/node-binary/blob/master/fullnode/Changelog.md) to get the information about the latest release of full node version. Go to directory according to the network you want to join in. -3. Replace the `network` variable with `testnet` or `prod` in the following command: +1. Replace the `network` variable with `testnet` or `prod` in the following command: ``` cd node-binary/fullnode/{network}/{version} diff --git a/docs/beaconchain/develop/node/join-mainnet.md b/docs/beaconchain/develop/node/join-mainnet.md index dab1bfe..a15cf65 100644 --- a/docs/beaconchain/develop/node/join-mainnet.md +++ b/docs/beaconchain/develop/node/join-mainnet.md @@ -1,7 +1,7 @@ # Join Mainnet !!! Tip - See the [node-binary repo](https://github.com/binance-chain/node-binary/blob/master/README.md) for information on the mainnet, including the correct version of the binaries to use and details about the genesis file. + See the [node-binary repo](https://github.com/bnb-chain/node-binary/blob/master/README.md) for information on the mainnet, including the correct version of the binaries to use and details about the genesis file. !!! warning You need to install [bnbchaind](install.md) before you go further @@ -45,7 +45,7 @@ Now your Full Node has been initialized! Fetch the mainnet's genesis.json file into node-binary's config directory. ``` cd -p $HOME/.bnbchaind/config -wget https://raw.githubusercontent.com/binance-chain/node-binary/master/fullnode/prod/0.6.3-hotfix/config/genesis.json +wget https://raw.githubusercontent.com/bnb-chain/node-binary/master/fullnode/prod/0.6.3-hotfix/config/genesis.json ``` Note we use the latest directory in the node-binary repo which contains details for the mainnet like the latest version and the genesis file. diff --git a/docs/beaconchain/develop/node/join-testnet.md b/docs/beaconchain/develop/node/join-testnet.md index 6f09d99..76f004b 100644 --- a/docs/beaconchain/develop/node/join-testnet.md +++ b/docs/beaconchain/develop/node/join-testnet.md @@ -1,7 +1,7 @@ # Join Testnet !!! Tip - See the [node-binary repo](https://github.com/binance-chain/node-binary/blob/master/README.md) for information on the mainnet, including the correct version of the binaries to use and details about the genesis file. + See the [node-binary repo](https://github.com/bnb-chain/node-binary/blob/master/README.md) for information on the mainnet, including the correct version of the binaries to use and details about the genesis file. !!! warning You need to install [bnbchaind](install.md) before you go further @@ -46,7 +46,7 @@ Now your Full Node has been initialized! Fetch the testnet's genesis.json file into node-binary's config directory. ``` cd -p $HOME/.bnbchaind/config -wget https://raw.githubusercontent.com/binance-chain/node-binary/master/fullnode/testnet/0.6.3-hotfix/config/genesis.json +wget https://raw.githubusercontent.com/bnb-chain/node-binary/master/fullnode/testnet/0.6.3-hotfix/config/genesis.json ``` Note we use the latest directory in the node-binary repo which contains details for the testnet like the latest version and the genesis file. diff --git a/docs/beaconchain/develop/node/localnetwork.md b/docs/beaconchain/develop/node/localnetwork.md index c6b259b..3dc8bfb 100644 --- a/docs/beaconchain/develop/node/localnetwork.md +++ b/docs/beaconchain/develop/node/localnetwork.md @@ -1,6 +1,6 @@ # Run a Local Testnet -## Single-node Local Testnet +## Single-node on Local Testnet This guide helps you create a single validator node that runs a network locally for testing and other development related uses. diff --git a/docs/beaconchain/develop/node/nodetypes.md b/docs/beaconchain/develop/node/nodetypes.md index 4ab7708..c66eced 100644 --- a/docs/beaconchain/develop/node/nodetypes.md +++ b/docs/beaconchain/develop/node/nodetypes.md @@ -48,7 +48,7 @@ To see the existing RPC endpoints provided by witness node, check the list [her While users can submit transactions and most of the queries via normal, self-run full nodes.
Accelerated Node provides more secure and faster lines to access Beacon Chain . -Accelerated Node is special infrastructure built around Validator to facilitate accelerated transaction +Accelerated Node is a special infrastructure built around Validator to facilitate accelerated transaction routing and provide richer, faster user interfaces. There are always several Accelerated Nodes running at the same time around the world (owned by different organizations) and you are encouraged to choose one of them to use, or allow your Wallet choose one randomly.
diff --git a/docs/beaconchain/develop/node/synctypes.md b/docs/beaconchain/develop/node/synctypes.md index dc0ed23..2c1d8fc 100644 --- a/docs/beaconchain/develop/node/synctypes.md +++ b/docs/beaconchain/develop/node/synctypes.md @@ -8,8 +8,7 @@ There are three ways for you to get synced with other peers in blockchain networ ## Fast Sync -In fast sync, you need to download all the blocks from your peers and execute all the transaction in every block. -The sync speed is about 20 blocks/s, which is slower than state sync. +In fast sync, you need to download all the blocks from your peers and execute all the transactions in every block. The sync speed is about 20 blocks/sec, which is slower than state sync. Configuration is located in `$BNCHOME/config/config.toml`: @@ -21,7 +20,7 @@ Configuration is located in `$BNCHOME/config/config.toml`: The default way to get newly joined Full Node syncing with other Full Node is `state sync`. Once your Full Node is synced to a snapshot, it will switch to `fast-sync` mode to catch up with its peers. -State sync can help fullnode in same status with other peers within short time (according to our test, a one month ~800M DB snapshot in Beacon Chain testnet can be synced in around 45 minutes). As explained in [BEP18](https://github.com/binance-chain/BEPs/blob/master/BEP18.md), State sync will get the application state of your full node to be up to date without downloading all of the blocks.The sync speed is faster than fast sync. +State sync can help fullnode in same status with other peers within short time (according to our test, a one month ~800M DB snapshot in Beacon Chain testnet can be synced in around 45 minutes). As explained in [BEP18](https://github.com/bnb-chain/BEPs/blob/master/BEP18.md), State sync will get the application state of your full node to be up to date without downloading all of the blocks.The sync speed is faster than fast sync. Now you do not need to allocate more memories to your full node for this feature to work. Configuration is located in `$BNCHOME/config/config.toml`: diff --git a/docs/beaconchain/develop/node/upgrade.md b/docs/beaconchain/develop/node/upgrade.md index 63911d9..58c18ee 100644 --- a/docs/beaconchain/develop/node/upgrade.md +++ b/docs/beaconchain/develop/node/upgrade.md @@ -13,7 +13,7 @@ Many of Beacon Chain upgrades are hardfork ones. If so, you have to finish the bnbchaind start --home ``` -## Forget to Upgrade +## Forgot to Upgrade The Beacon Chain has a hardfork upgrade and if you failed to upgrade your fullnode to the latest version, `bnbchaind` process will stop and even if you restart with the latest version, the following error will appear: ``` @@ -28,7 +28,7 @@ To recover from the `state` conflict error, you need to: * Backup your home directory, (default is ~/.bnbchaind) -* Download the tool: [state-recover](https://github.com/binance-chain/node-binary/tree/master/tools/recover) +* Download the tool: [state-recover](https://github.com/bnb-chain/node-binary/tree/master/tools/recover) * Get the height of upgrade, this height will be announced in the upgrade announcement on the forum. For example, if it's announced as 5000 in the forum and run the following command will make your full node recover to the last block before the upgrade, and that is 4999 : ``` diff --git a/docs/beaconchain/develop/testnetandexplorer.md b/docs/beaconchain/develop/testnetandexplorer.md index 59ce3af..ce45c9e 100644 --- a/docs/beaconchain/develop/testnetandexplorer.md +++ b/docs/beaconchain/develop/testnetandexplorer.md @@ -7,7 +7,7 @@ The testnet is a test environment for BNB Chain network, run by the BNB Chain de The validators on the testnet are from development team. -You can connect a node to the testnet by downloading the [node binary](https://github.com/binance-chain/node-binary/tree/master/fullnode/testnet/0.6.3-hotfix) to use this [configuration](https://github.com/binance-chain/node-binary/tree/master/fullnode/testnet/0.6.3-hotfix/config). +You can connect a node to the testnet by downloading the [node binary](https://github.com/bnb-chain/node-binary/tree/master/fullnode/testnet/0.6.3-hotfix) to use this [configuration](https://github.com/bnb-chain/node-binary/tree/master/fullnode/testnet/0.6.3-hotfix/config). There is also a [web wallet](https://testnet.binance.org/en/) that can directly interact with the DEX. testnet. @@ -24,7 +24,7 @@ There is also a [web wallet](https://testnet.binance.org/en/) that can directly **Steps to claim testnet BNB:** -1. Create a new Wallet of Binance Smart Chain testnet with [MetaMask or MathWallet](https://docs.binance.org/wallets/bsc-wallets.html) +1. Create a new Wallet of Binance Smart Chain testnet with [MetaMask or MathWallet](https://docs.bnbchain.org/docs/Wallet#supported-wallets) 2. Get Testnet Fund: https://testnet.binance.org/faucet-smart To request funds, please make a tweet with your Binance Smart Chain address pasted into the contents. Then, copy-paste the tweets URL! @@ -32,10 +32,10 @@ To request funds, please make a tweet with your Binance Smart Chain address past 3. Transfer From BNB Smart Chain to Beacon Chain -You can use [Binance Extension Wallet](https://docs.binance.org/smart-chain/wallet/binance.html#transfer-testnet-bnb-from-bsc-to-bc) for cross-chain transfer. +You can use [Binance Extension Wallet](https://docs.bnbchain.org/docs/binance#transfer-testnet-bnb-from-bsc-to-bc) for cross-chain transfer. If you wish to test Beacon Chain features, you could transfer BNB cross-chain with MathWallet dApp: -https://docs.binance.org/smart-chain/wallet/math.html#transfer-bnb-from-bsc-to-bc +https://docs.bnbchain.org/docs/wallet/math#transfer-bnb-from-bsc-to-bc-in-testnet ### Explorers for Testnet diff --git a/docs/beaconchain/exchange-integration.md b/docs/beaconchain/exchange-integration.md index 60f2e67..7c58b42 100644 --- a/docs/beaconchain/exchange-integration.md +++ b/docs/beaconchain/exchange-integration.md @@ -2,7 +2,7 @@ There are public nodes running by BNB Chain community which will allow you to interact with the blockchain. ### REST API -[Accelerated nodes](https://docs.binance.org/faq.html#what-is-the-accelerated-node) provide advanced API services for the public.
+[Accelerated nodes](../faq.md#what-is-the-accelerated-node) provide advanced API services for the public.
List of all the Rest API information available on accelerated node can be found: [here](api-reference/dex-api/paths.md) ### Node RPC @@ -23,18 +23,18 @@ There are multiple advanced SDK solutions available for Binance chain.
Majority of SDKs provide simplified functions to: - Create wallets and manage keys -- Encode/sign transactions and submit to Binance Chain/DEX, including Transfer, New Order, Cancel Order, etc. -- Communicate with Binance Chain/DEX via Node RPC calls through public node RPC services or your own private full nodes +- Encode/sign transactions and submit to Beacon Chain/DEX, including Transfer, New Order, Cancel Order, etc. +- Communicate with Beacon Chain/DEX via Node RPC calls through public node RPC services or your own private full nodes List of currently available SDKs and their respective documentations: -- [Go](https://github.com/binance-chain/go-sdk) - [Documentation](https://github.com/binance-chain/go-sdk/wiki) -- [Java](https://github.com/binance-chain/java-sdk) - [Documentation](https://github.com/binance-chain/java-sdk/wiki) -- [JavaScript](https://github.com/binance-chain/javascript-sdk) - [Documentation](https://github.com/binance-chain/javascript-sdk/wiki) -- [C++](https://github.com/binance-chain/cplusplus-sdk) - [Documentation](https://github.com/binance-chain/cplusplus-sdk/wiki) -- [C#](https://github.com/binance-chain/csharp-sdk) - [Documentation](https://github.com/binance-chain/csharp-sdk) -- [Python](https://github.com/binance-chain/python-sdk) - [Documentation](https://python-binance-chain.readthedocs.io/en/latest/binance-chain.html#module-binance_chain) -- [Swift](https://github.com/binance-chain/swift-sdk) - [Documentation](https://github.com/binance-chain/swift-sdk/blob/master/README.md) +- [Go](https://github.com/bnb-chain/go-sdk) - [Documentation](https://github.com/bnb-chain/go-sdk/wiki) +- [Java](https://github.com/bnb-chain/java-sdk) - [Documentation](https://github.com/bnb-chain/java-sdk/wiki) +- [JavaScript](https://github.com/bnb-chain/javascript-sdk) - [Documentation](https://github.com/bnb-chain/javascript-sdk/wiki) +- [C++](https://github.com/bnb-chain/cplusplus-sdk) - [Documentation](https://github.com/bnb-chain/cplusplus-sdk/wiki) +- [C#](https://github.com/bnb-chain/csharp-sdk) - [Documentation](https://github.com/bnb-chain/csharp-sdk) +- [Python](https://github.com/bnb-chain/python-sdk) - [Documentation](https://python-bnb-chain.readthedocs.io/en/latest/bnb-chain.html#module-binance_chain) +- [Swift](https://github.com/bnb-chain/swift-sdk) - [Documentation](https://github.com/bnb-chain/swift-sdk/blob/master/README.md) ## Important: Ensuring Transaction Finality @@ -96,7 +96,7 @@ If you haven't received anything after a couple of blocks, resend the transactio ### The Recommended Way (via WebSocket) -If you want to be sure that the transaction is included in a block, you can subscribe for the result using JSONRPC via a websocket. See [Subscribing to Events via WebSocket](https://docs.binance.org/api-reference/node-rpc.html#631-subscribe). +If you want to be sure that the transaction is included in a block, you can subscribe for the result using JSONRPC via a websocket. See [Subscribing to Events via WebSocket](https://docs.bnbchain.org/docs/beaconchain/develop/api-reference/node-rpc/#631-subscribe). ### The Alternative Way (via RPC Polling) diff --git a/docs/beaconchain/faq/bsc/bep.md b/docs/beaconchain/faq/bsc/bep.md deleted file mode 100644 index 185bd29..0000000 --- a/docs/beaconchain/faq/bsc/bep.md +++ /dev/null @@ -1,23 +0,0 @@ -# Binance Evolution Proposal - -## What is BEP2? - -A simple token protocol for easy management of asset on Binance chain - -BNB is BEP2 - -## What is BEP20? - -A token protocol on BSC which is compatible with BEP2 and [ERC20](https://eips.ethereum.org/EIPS/eip-20). It extends ERC20 and contains more interfaces, such as `getOwner` and `decimals`. - - -Read the full proposal here: - -## What is BEP8? - -It is proposed to accommodate the small or micro projects, intellectual properties, and other small token economies. Similar to SME board in the traditional stock markets, BEP8 tokens markets will increase the liquidity of utility tokens of startups or Intellectual Property (IP) tokens by removing the capital requirements for listing. Besides, any BEP8 token issuer can choose to directly list against BNB and BUSD without the voting process of validators. - -Details: - -* [BEP8 Proposal](https://github.com/binance-chain/BEPs/blob/master/BEP8.md) -* [Commandline Instructions](../../learn/BEP8.md) \ No newline at end of file diff --git a/docs/beaconchain/faq/bsc/bsc.md b/docs/beaconchain/faq/bsc/bsc.md deleted file mode 100644 index 9043f3d..0000000 --- a/docs/beaconchain/faq/bsc/bsc.md +++ /dev/null @@ -1,75 +0,0 @@ -# BNB Smart Chain - -## What is BNB Smart Chain? - -BNB Smart Chain brings EVM-compatible programmability and native cross-chain communication with Beacon Chain using an innovative consensus of [Proof of Staked Authority(PoSA)](../../../learn/consensus.md) - -## Why is BNB Smart Chain designed as a separate chain from Beacon Chain? - -The execution of a Smart Contract may slow down the exchange function and add non-deterministic factors to trading. Even if that compromise could be tolerated, it might be a straightforward idea to introduce a new Virtual Machine specification based on Tendermint, based on the current underlying consensus protocol and major RPC implementation of Beacon Chain. But all these will increase the learning requirements for all existing dApp communities, and will not be very welcomed. - -## How does BNB Smart Chain work? What is the architecture and consensus used? - -BNB Smart Chain relies on a system of 21 validators with Proof of Staked Authority (PoSA) consensus that can support short block time and lower fees. - -There will be fewer validators on BNB Smart Chain testnet. - -## Can you tell more about Proof of Staked Authority(PoSA)? What is it? - -[PoSA](../../../learn/consensus.md) is a combination of PoA and PoS. Blocks are produced by a limited set of validators, they are elected in and out based on a staking based governance. Validators take turns to produce blocks in a PoA manner - -## What are the benefits for developers to build on BNB Smart Chain? - -* EVM-compatible: BNB Smart Chain supports all the existing Ethereum tooling -Fast block time, cheaper cost -* Native cross-chain trasfer & communication: Binance DEX remains a liquid venue of exchange of assets on Beacon Chain and BNB Smart Chain" - -## What are the benefits for developers to build on Beacon Chain? - -Beacon Chain opens the gate for users to take advantage of the fast transferring and trading - -## How many assets are issued on Beacon Chain? - -There are already [140 assets](https://explorer.binance.org/assets/bep2) on Beacon Chain - -The introduction of [BEP8](https://github.com/binance-chain/BEPs/blob/master/BEP8.md) is an innovative way for tokenization of properties - -## What make BNB Smart Chain different? - -Key Innovations: - -* Proof-of-staked-authority Consensus - -* Native Cross-Chain Communication - -* Expand the use cases of BNB token - -## BNB Smart Chain is EVM-compatible. What does that mean? - -EVM means Ethereum Virtual Machine. Any smart-contract written to run in EVM can be easily ported to BNB Smart Chain. - -## Can developers make hybrid Dapps using both Beacon Chain and BNB Smart Chain in one single Dapp? - -Yes, with the help of native cross-chain functions - -## How to query the current system parameters - -``` -bnbcli params side-params --side-chain-id=bsc --node http://dataseed4.binance.org:80 --chain-id=Binance-Chain-Tigris --trust-node --output=json -``` - -* [minimum self-delegated amount](../../../validator/Parameters.md): **10000BNB** - -* minimium delegate amount: **1BNB** - -* Unbonding time: 7 days - -* offline Unjail fee: 1BNB - -* offline jail time: 2 day - -* offline slashing amount: 50BNB - -* Double-sign slashing amount: 10000BNB - -* Cross-chain relay fee: 0.004 BNB diff --git a/docs/beaconchain/faq/bsc/cross.md b/docs/beaconchain/faq/bsc/cross.md deleted file mode 100644 index 286cd24..0000000 --- a/docs/beaconchain/faq/bsc/cross.md +++ /dev/null @@ -1,39 +0,0 @@ -# Cross-chain Communication - -## How much is cross-chain transfer fee? - -The total cost of transfer from BC to BSC is composed of 2 parts: - -* Fee for executing `bridge transfer-out` transaction is 0.004BNB, pay validators on Binance Chain - -* Fee for BSC-relayers 0.004BNB. it will cover the fees of calling TokenHub Contract on BSC. - -The total cost of transfer from BSC to BC is composed of 2 parts: - -* Fee for Oracle-relayers 0.004BNB, pay for BSC relayers - -* Call TokenHub Contract: You need to pay BNB for calling smart-contract on BSC, this transaction is metered by gas, which is a global parameter. At the moment, you need to pay about 0.0005BNB ~ 0.0015BNB. - -## What's is a BSC relayer? - -BSC relayer monitors cross chain packages on Binance Chain, builds and broadcasts transactions to BSC to deliver these packages, which is the key of cross chain communication from Binance Chain to BSC. - -## What's is an Oracle relayer? - -Oracle Relayer watches the state change of Binance Smart Chain. Once it catches Cross-Chain Communication Events, it will submit to vote for the requests. After Oracle Relayers from ⅔ of the voting power of BC validators vote for the changes, the cross-chain actions will be performed. Only validators of Binance Chain are eligible to run Oracle relayers. - -## What's an oracle? - -In blockchain network, an oracle refers to the element that connects smart contracts with data from the outside world. In the network of Binance Smart Chain, the execution of the transanction wil emit Events, and such events can be packaged and relayed onto BC. In this way, BC will get updates about changes of BSC. - -## Which wallet support cross-chain transfer? - -You need to use [MyEtherWallet](../../../wallet/myetherwallet.md) to call contracts and use Binance Chain commandline client: `bnbcli`/ `tbnbcli` for complementary commands - -Please refer to this [guide](../../../cross-chain-transfer.md) for details - -## How to send cross-chain transfer? - -You can use [Binance Chain extension wallet](../../../wallet/binance.md) or - -use [Trust wallet](https://community.trustwallet.com/t/how-to-send-and-receive-bnb-on-smart-chain/67430) \ No newline at end of file diff --git a/docs/beaconchain/faq/bsc/del.md b/docs/beaconchain/faq/bsc/del.md deleted file mode 100644 index 22b843a..0000000 --- a/docs/beaconchain/faq/bsc/del.md +++ /dev/null @@ -1,55 +0,0 @@ -# Binance Smart Chain Delegator - -## What's the role of a delegator? - -A delegator can delegate its BNB to a chosen validator to participate the consensus and earn rewards. - - -Staking BNB directly contributes to the security of the entire network. - -## How to delegate my BNB? - -Please read the guide [here](../../../del-guide.md) - -You can use: - -* [Binance Chain extension wallet](../../../wallet/binance.md) -* [Math Wallet](http://blog.mathwallet.xyz/?p=3890) -* [Trust Wallet](https://community.trustwallet.com/t/bnb-staking-with-trust-wallet/113243) -* [command line tool](https://github.com/binance-chain/node/releases/tag/v0.8.1) - - - -## How to undelegate my BNB? - -Delegates and validators themselves may choose to unbond their BNB for a variety of reasons. It is important to note that these BNB are subject to what is known as the **UnbondingTime**, an on-chain parameterized period of time upon which all delegates, including validators, must wait for their BNB to become fully unbonded. In addition, these BNB are still subject to be potentially slashed upon commitment of any byzantine behavior. The **UnbondingTime** ensures a variety of security measures in the network, such as accounting for network synchrony assumptions, providing a lower bound for the length of a [long-range attack](https://cosmos.network/docs/spec/ibc/references.html#3) and solving the “nothing-at-stake” problem. - -The current **UnbondingTime** in Binance Smart Chain mainnet is **7 days**. - -## How to redelegate my BNB? - -Redelegations between a unique delegator, source validator, and destination validator can only happen once every **UnbondingTime** - -## How many tokens are required to stake BNB? - -The [minimum delegated amount](../../../validator/Parameters.md) is **1BNB**. - -## How to claim my rewards? - -The rewards will be distributed to every delegators from `bscvalidator` [smart contract](https://bscscan.com/address/0x0000000000000000000000000000000000001000) everyday. - -You can read about the details [here](../../../beaconchain/learn/bc-staking.md) - -## When can I receive my staking rewards? - -Since validatorset info is updated every day UTC 00:00, to make some room for the error handling, we distribute the fees of day N-1 in the next breathe block (day N+1). Thus, after you sent delegate transaction, you will receive your first staking rewards at the second UTC 00:00. Afterwards, you will receive your rewards everyday at UTC 00:00. - -## When can I receive my undelegated BNB? - -Since Unbonding Period is 7 days. Thus, after you sent undelegate transaction, your staked BNB will not receive any rewards since the next UTC 00:00. After 7 days start from the next UTC 00:00, you will receive your BNB . - -## What's the potential loss for delegators? -The only risk for delegators is the loss of rewards when their staked validator is slashed. Their staked BNB will not be impacted. - -## Can a validator run away with their delegators' BNB? -By delegating to a validator, a user delegates voting power. This does not mean that the validator has custody of their delegators' BNB. By no means can a validator run away with its delegator's funds. \ No newline at end of file diff --git a/docs/beaconchain/faq/bsc/eco.md b/docs/beaconchain/faq/bsc/eco.md deleted file mode 100644 index d501ad9..0000000 --- a/docs/beaconchain/faq/bsc/eco.md +++ /dev/null @@ -1,67 +0,0 @@ -# Binance Smart Chain Ecosystem - -## How is Binance Smart Chain Ecosystem? - - - -## What are the incentives for developers to build on BSC Chain? - -Future coding competitions; Hackathons - -* Gitcoin: https://gitcoin.co/binancex -* Dorahacks: https://hackerlink.io/en/grant/1 - -## What are Pegged tokens on Binance Smart chain? - -Soon after the launch of Binance Chain, Binance issued several pegged BEP2 tokens that are running on other blockchain networks, including BTC (BTCB), ETH, XRP, LTC, BCH, and ONT. These tokens are backed by real tokens locked in public addresses, and have allowed users to benefit from both the volatility of these tokens as well as the fast transfer and trading experience of Binance Chain. - -Current list: - -* BUSD: -* USDT: -* BTC: -* ETH: -* DAI: -* DOT: -* XRP: -* LINK: -* BAND: -* LTC: -* EOS: -* BCH: -* XTZ: -* ONT: -* ADA: -* ATOM: -* YFII: -* ZEC: - -Details are [here](https://www.binance.org/en/blog/binance-presents-project-token-canal-2/) - -## How to Send and Receive BNB on Smart Chain? - -[Binance.com](https:/www.binance.com) can withdraw BNB to BSC. - -1. If you don't have an existing address of Binance Smart Chain, please use these [wallets](../../../Wallet.md) to create one. - -2. On your Binance account, open your BNB wallet then tap on Withdraw. Select BEP20 as the Network. Indicate the amount and paste your BSC address. - -3. Complete the steps to withdraw - -4. Wait for the exchange to process your request. Once it is confirmed, you will immediately receive BNB to your Smart Chain address. - -## How to Send and Receive Pegged tokens on Smart Chain? - -[Binance.com](https:/www.binance.com) can withdraw those pegged tokens to BSC. - -1. If you don't have an existing address of Binance Smart Chain, please use these [wallets](../../../Wallet.md) to create one. - -2. On your Binance account, open your wallet then tap on Withdraw. Select BEP20 as the Network. Indicate the amount and paste your BSC address. - - -![img](https://lh5.googleusercontent.com/dR9bBqUpNlBFX6zsKFkVRMgHz27Ak0Icu8AFsuJm_1ke6-qSG5Cg2FJLcpRYlFeuFEpisOdXpwn1KDOHBH7qQV9CpYxVb--2B1NxQm-L6B6qSl9Cq90uCSrwHEPAOh69Z0MM2VtG) - - -3. Complete the steps to withdraw - -4. Wait for the exchange to process your request. Once it is confirmed, you will immediately receive BNB to your Smart Chain address. diff --git a/docs/beaconchain/faq/bsc/general.md b/docs/beaconchain/faq/bsc/general.md deleted file mode 100644 index cf0c81c..0000000 --- a/docs/beaconchain/faq/bsc/general.md +++ /dev/null @@ -1,43 +0,0 @@ -# BNB Smart Chain Information - -## Where will the published whitepaper be found? - - and also , where feedback is more than welcome. - -## Where can I take a look at BNB Smart Chain code? Is there a GitHub repository? - -The codebase of BSC is open-sourced here: - -* -* -* -* -* -* - -## Where can I find some support? - -* Technical talk and support running our software: Telegram -* Bugs or technical contributions: GitHub -* General discussion regarding our blockchain: Telegram - -## Which are Binance Smart Chain's official channels for communication and information? - -* Binance DEX announcements: -* Twitter: -* Binance Chain Forum: - -## Wallet support for Binance Smart Chain - - - [BNB Extension Wallet ](../../../wallet/binance.md) - - [MetaMask](../../../wallet/metamask.md) - - [Math Wallet](../../../wallet/math.md) - - [Arkane](../../../wallet/arkane.md) - - [Ledger](../../../wallet/ledger.md) - - [MEW](../../../wallet/myetherwallet.md) - -## How to recover if you choose the wrong network type? - -Please read this [guide](./withdraw-en.md) - -清阅读以下[说明](./withdraw-cn.md) diff --git a/docs/beaconchain/faq/bsc/token.md b/docs/beaconchain/faq/bsc/token.md deleted file mode 100644 index f1014a5..0000000 --- a/docs/beaconchain/faq/bsc/token.md +++ /dev/null @@ -1,48 +0,0 @@ -# Tokens in Binance Chain and Binance Smart Chain - -## What role does BNB play in securing Binance Smart Chain? - -BNB is the token used to prevent `nothing-at-stake` problem. - -## What are tokens on Binance Smart Chain? - -BNB is the native token for BSC, and pegged BEP2 tokens on BSC is called BEP20. - -## How to issue BEP2 tokens? - -Please follow the guide [here](https://community.binance.org/topic/2487/) - -## How to issue BEP20 tokens? - -Please follow the guide [here](../../../issue-BEP20.md) - -## How can I stake my BNB? - -Please follow the guide [here](../../../del-guide.md) - -## How many tokens are required to stake BNB? - -The [minimum delegated amount](../../../validator/Parameters.md) is **1BNB**. - -## Which wallets can be used to stake BNB? - -You can use: - -* [command line tool](https://github.com/binance-chain/node/releases/tag/v0.8.1) -* [Binance Chain extension wallet](../../../wallet/binance.md) -* [Math Wallet](http://blog.mathwallet.xyz/?p=3890) - -## Where can I find out more about staking economics and rewards? - -You can read details in White Paper: - -## Where do network rewards come from? - -Validators and delegators will earn rewards from the following sources: - -* Calling smart contracts on BSC is metered by gas. -* Rewards for running a BSC Relayer if validators have one - -## Which wallets can I use to store BNB? - -You can see the list [here](../../wallets.md) diff --git a/docs/beaconchain/faq/bsc/val.md b/docs/beaconchain/faq/bsc/val.md deleted file mode 100644 index fdae215..0000000 --- a/docs/beaconchain/faq/bsc/val.md +++ /dev/null @@ -1,210 +0,0 @@ -# BNB Smart Chain Validator FAQs - -## How does a validator node work? - -It powers the blockchain network by processing transactions and signing blocks. - -## What are the incentives to run a validator node? - -Validators and delegators will earn rewards from transaction fees: dApp usages. - -## What's on-chain governance proposal? - -The proposal will decide: slash amount, cross-chain transfer fees. - -## How to join testnet as a validator? - - 1. Choose your own server/PC. - 2. Install software. - 3. Create a wallet and get some BNB. - 4. Run your fullnode and keep it synced. - 5. Stake your BNB on BC, the top 21 most staked nodes to be the validator set. - -## How to join mainnet as a validator? - - 1. Choose your own server/PC - 2. Install software - 3. Create a wallet and get some BNB - 4. Run your fullnode and keep it synced - 5. Stake your BNB on BC, the top 21 most staked nodes to be the validator set" - -## What are hardware requirements of running a validator node? - -Processing transactions is mostly CPU bound. Therefore we recommend running CPU optimized servers. - - * Directly facing internet (public IP, no NAT) - - * 8 cores CPU - - * 16GB of RAM - - * 500 SSD storage" - -## How many BNB are required to create a validator? - -Validators can self-bond, meaning they can delegate BNB to themselves, and they can also receive delegations from any other BNB holders. These bonded BNB acts as collateral and cause each delegate, including validators, to have “skin in the game” so to speak. If any equivocation or byzantine behavior by a validator were to be committed, the validator and its delegates would be slashed a predefined amount of bonded stake. The minimum self-delegated amount is 10000BNB. - -## When are rewards paid out? - -The rewards will not be sent to validator right away, instead, they will be distributed and accumulated on a contract. The reward distribution happens on BC around every day UTC 00:00. - -## What's the potential loss for validators? - -Validators can suffer from “Slashing”, a punishment for their bad behaviors, such as double sign and/or instability. Such loss will not be shared by their delegators. -Slashing is a punitive function that is triggered by a validator ’s bad actions. Getting slashed is losing self delegation of a validator. Validators will be slashed for the actions below: - - * Going offline or unable to communicate with the network. - - * Double signing: If a validator node tries to split the network by signing two different blocks and broadcasting them, it will be removed from validator set definitely. - -## What is the process of getting selected as a validator node on BSC? - -On BNB Smart Chain (BSC) network, validators are responsible for securing the network by processing transactions and signing blocks. Validator nodes are incentivized in the form of transaction fees for their good behavior. Currently, there are 11 validators on the testnest and 21 validators on the mainnet. Validators are selected every 24 hours. Anyone can become a candidate for the validator. To become part of the selection process of validators, the nodes have to stake their BNB. Validators can self-delegate (self-bound) BNB to themselves and can also receive delegations from any other BNB holders. The minimum amount for self-delegation is **10000BNB**. Only the top 21 highest-stake nodes are chosen to be part of the validator set. Get more details [here](https://docs.binance.org/smart-chain/validator/overview.html). - -## How is the bad or malicious behavior of the validator nodes controlled in the BSC? - -One of the important on-chain governance implementations is the technique of “slashing” along with jailing. When jailed validator cannot participate in the consensus mechanism or earn rewards for set period of time. Slashing ensures that validators who act maliciously or show bad behavior are punished. Furthermore, it is designed to expose any attacker and make execution of their attempts extremely expensive. Anyone can submit BSC slash request. Even though BSC slash request requires slash evidence and transaction cost fees, huge reward is given in case the request is successful. To ensure that the delegators are not punished for the validator’s bad behavior, only the self-bonded BNB of the validator are slashed. Currently, slashing is applied on any node that processes an invalid transaction, performs double-signing or is unavailable for a defined period of time. - -## What are the two slashable cases? - -The validators are slashed in cases of self-bound less than the required minimum, double singing, and unavailability. - -*_Double Signing:_* refers to an event when a validator node proposes two different blocks at the same block height. A validator will be removed from the validator set definitely, if they try signing two different blocks and broadcasting them. For a BSC slash request for double signing the supporting evidence should indicate two block headers having same block height and same parent block hash sealed by the same validator. Two signatures of these two blocks must not be the same. The time of these two blocks must be within the validity of the evidence, which is 24 hours. Rewards for submitting double-sign evidence is **1000BNB**. In case the provided evidence are valid, the validators face a slashing of **10000BNB** from their self-delegated BNB and will be ‘jailed’ for a time period of 7 days. - -*_Unavailability/ Downtime in a 24 hour period:_* the slash fee for a validator being offline is self-delegated **50BNB** accompanied with a jail time of 2 days. If a validator misses at least 50 blocks (~52 minutes of downtime) during 24 hours, they will not be able to receive any rewards during that period of time. -Instead their reward will be distributed amongst other better performing validators of the set. Another case of unavailability is when a validator misses over 150 blocks (~157.5 minutes of downtime) during 24 hours. In this case, the validator will not receive reward instead it will be propagated back to BC. - -*_Self‐bond below minimum:_* Validators are jailed for 1 day if their self‐bond falls below **10000BNB**. - -## What is the minimum amount for self-delegation to avoid being jailed? - -The [minimum self-delegated amount](../../../validator/Parameters.md) is **10000BNB**. - -## What is the unbounding time period? - -Unbonding time: 7 days - -## What is the unjail fees for a validator jailed for being offline? What is the offline jail time period? - -offline Unjail fee: 1BNB - -offline Jailed time: 2 days. A validator can only unjail 2 days later after it has been jailed - -## What is the slashing amount charged to the validators for being offline and double signing? - -offline slashing amount: 50BNB - -Double-sign slashing amount: 10000BNB - -## Where can you monitor the slash contract? - -The slash contract can be monitored on the BSC scanner on the following link - -https://bscscan.com/address/0x0000000000000000000000000000000000001001#events - -## Does an inactive validator receive any rewards? - -No, they will not. - -## Can I receive my staking rewards if my chosen validator is inactive? - -No, you cannot. - -## When can I receive my unstaked BNB? - -After you sent `undelegate` transaction, you have to wait 7 days. This period starts at UTC 00:00 next day. - -## How to get un-jailed? -Validator nodes that have been jailed due to their malicious or bad behavior can be set to ‘unjailed’ by sending a side-unjail transaction if the validation passed. Furthermore, when unjailed, to join the validator set again, the validator must wait for the next UTC 0:00. The fees to un-jail a smart contract validator is **1BNB**. Whereas, the fee for submitting a byzantine behavior evidence of a validator is **10BNB**. - -_Example:_ - -~~~~ -bnbcli slashing side-unjail --side-chain-id=bsc –node http://dataseed4.binance.org:80 --chain-id=Binance-Chain-Tigris --trust-node --output=json --from {the address of the validaator operator} -~~~~ - -## What is 'self-delegation'? How can I increase my 'self-delegation'? - -Self-delegation is delegation from a validator to themselves. This amount can be increases by sending a delegate transaction from your validator's operator address. - -## What is the command to prune? - - * Stop the node gracefully - - * Run `nohup geth snapshot prune-state --datadir {the data dir of your bsc node} &` - - * Wait for 5-6 hours to finish, it depends on the size of current storage - -## What to do if one can’t run prune-state command In the event when running the geth snapshot `prune-state --datadir /chaindata` on geth 1.1.5 return the following error - -~~~~ -ERROR[11-02|06:02:55.001] Failed to open snapshot tree err="head doesn't -match snapshot: have 0x5c17a8fc0164dabedd446e954b64e8a54fc7c8b4fee1bbd707c3cc3ed1e45fff, want 0x431565cee8b7f3d7bbdde1265304fa4574dc3531e511e9ffe43ae79d28e431d6" head doesn't match snapshot: have 0x5c17a8fc0164dabedd446e954b64e8a54fc7c8b4fee1bbd707c3cc3ed1e45fff, want 0x431565cee8b7f3 -~~~~ - -This error occurs due to data corruption. You can run geth snapshot verify-state to double confirm whether the data is correct. You can download the latest snapshot from https://github.com/binance-chain/bsc-snapshots. By doing that, you don't have to prune-state in the future, save precious disk IO, it will help you keep up with syncing. - -## What to do if Sync is slow on running the following command - -~~~~ -*_start order: geth --config ./config.toml --datadir /data/server/data-seed/ --cache 20000 --rpc.allow-unprotected-txs --syncmode snap –diffsync --txlookuplimit 0_* -~~~~ - -Try pruning the state -- stop geth, then run geth --datadir=node snapshot prune-state. Assuming that datadir is node, change that if it's elsewhere then restart after it's done. Follow https://github.com/binance-chain/bsc/issues/502 to get more tips about how to maintain a synced node. - -## How to start the geth node through snapshot to get node synced? - -The two biggest bottlenecks are CPU and IOPS when syncing. Steps are as follows: download geth 1.1.5 and make it executable, optionally move it `/usr/local/bin/geth` - - * download mainnet.zip and unzip - - * generate genesis using command below, will also create a mainnet folder for blockchain data ./geth_linux --datadir mainnet init genesis.json - - * download the 14 nov 2021 snapshot - - * extract snapshot - - * move snapshot data to mainnet folder - `rm -rf mainnet/geth/chaindata` - - `rm -rf mainnet/geth/triecache` - - `mv server/data-seed/geth/chaindata mainnet/geth/chaindata` - - `mv server/data-seed/geth/triecache mainnet/geth/triecache` - -[Optional] Open config.toml and delete the Node Log section, just useful for getting logs straight on the terminal or just use tail to look at the logs - -[Optional] Create a service or use screen to run the command below, so it doesn't stop if you are using SSH. -Run screen then press enter, anytime you lose connection via ssh, run screen -r to get back the "screen/terminal" where geth was running Geth Command - -`geth --config ./config.toml –datadir ./mainnet --cache 100000 --rpc.allow-unprotected-txs --txlookuplimit 0 --http --maxpeers 100 –ws --syncmode=full --snapshot=false –diffsync` - -## What are the few adjustments that can help resolve sync issues? - - * Keep maxpeers at around 30. Either Too large or too less is not suggested - - * Enable snapshot, snapshot is another format of state world, it is designed to improve the performance. You can always set it to true. - - * Upgrade to 1.1.5 and diffsync is enabled - - * Try to reduce amount of peers to 30-50 (more peers need more resources) and make sure you're connected to enough peers with net.peerCount - - * Upgrade your hardware, especially Disk and CPU resources. - -## Why is the tx from my dapp not visible on the bscscan even though its hash is generated? -Due to network congestion, it is possible for the tx to appear after a delay. Another possibility is that the number of pending txs have exceeded the size of the limited tx pool of the network and hence the txs have been dropped. - -## What is the best course of actions to make sure the slash indicator for a validator contract doesn’t exceed beyond 150 and getting jailed? - * Pruning is the top choice. - - * Use better CPU, currently we suggest m5zn.3xlarge, it is 3.2G Hz frequency. - - * IOPS above 10000 is good enough. - - * Running 2-3 backup nodes please. - - * NVMe disk is better than SSD - -## Can the location of the validator nodes be considered as playing factor in performance? Is there any way to get the enode or ips of the validator nodes? -The validators are usually running in a private network making it hard to connect or trace their location. Furthermore, it is suggested by community developers that EU is considered a better location in terms of performance. diff --git a/docs/beaconchain/faq/bsc/withdraw-cn.md b/docs/beaconchain/faq/bsc/withdraw-cn.md deleted file mode 100644 index e7963ca..0000000 --- a/docs/beaconchain/faq/bsc/withdraw-cn.md +++ /dev/null @@ -1,25 +0,0 @@ -# 如何找回您提现BEP20 而误选ERC20 的Token? - -## 背景 - -在提币的过程中,因为ERC20 和 BEP20的地址规则是一样的,用户很可能充值 以太坊的ERC20 上,如果您误选了ERC20,并且已经在metamask钱包中导入了BSC主网账号的情况下,可以通过下面的步骤把token找回来: -## 步骤 -- 网络类型切换为**太坊主网** - -![img](https://lh4.googleusercontent.com/1V1f9EDbT6WezQssjZXITdiCTbuYi0ZKjO_VkCiwccV7TmjEO_U2QpSGfZCQy_eTz6le_P1W7MmoG2-Qgkg6BlhZFIHwdDiLmmcQs_MkPwz5Y4C_BqWVn9RJQI7g5goNvQbXeZYW) - -- 点击**Add Token** - -![img](https://lh6.googleusercontent.com/dMoJ-aCZ5wTul-sTBRKu1jniDr9hsPl-kiJuQf9G8YOKfUyW0lnjABl7Fv6BQ8N4exDsnTj43usQcCQLKY_ovcLyjYWvxu4J1AkZ-oq5_WhSR9b3ioKG6mvfyS_LLD2L_reffdfE) - -- 选择添加您提现时的币种,如USDT - -![img](https://lh4.googleusercontent.com/tJ_NhWNbMPCGpmCSaWMJ93sCCUFjZal3H1d5LwY_g8zWivvxehtFsWWnmBG-3MMOYvQmvPyjpx18hky7ETysUKL6EM0DhQRJn0sScKcc_078CDjFQ16vkVHC1R5yzEHnhhN8jYqi) - -- 添加后,提现的币就在您这个账号里 - -![img](https://lh4.googleusercontent.com/NJSomyJSGK6h8gYtqNhuaI7jsLxUctRJBSbrmEWKimvQFJqOFwaIBnN5HM13H_Fx514lN0lCptDO7ySyS3t-UYVBM53jqHNDvAy0Z0djUF4mx6rdE0S7sSaYlu7902fz_jeNAFRm) - -- 重新充值 - -你通过 metamask重新充值回币安主站,注意:充值方式是 **ERC20** \ No newline at end of file diff --git a/docs/beaconchain/faq/bsc/withdraw-en.md b/docs/beaconchain/faq/bsc/withdraw-en.md deleted file mode 100644 index ce61793..0000000 --- a/docs/beaconchain/faq/bsc/withdraw-en.md +++ /dev/null @@ -1,28 +0,0 @@ -# How to recover if you choose the wrong network type? - -## Background -Since Binance Smart Chain and Ethereum follow the same address generation algorithm. In some cases, users may mistakenly choose the wrong network type when withdrawing tokens to Binance Smart Chain network. - -## Steps to Recover -- Metamask Setup -Import the account into Metamask using user’s recovery phrase of BSC - -![img](https://lh6.googleusercontent.com/-3QAby4tn7_46S7_2-d3QN2e7yWSmqfwlnmCNkeg-cpk-U4sqCnUanCPwYtcyUaqewRJj0zuOTv8k3dHGtVODpoYjT1KjWNySLp0sgIUomlT7DO8Q5eqEJjAYcu4l4SmmYVmfZhd) - -- Switch to Ethereum Mainnet - -![img](https://lh4.googleusercontent.com/1V1f9EDbT6WezQssjZXITdiCTbuYi0ZKjO_VkCiwccV7TmjEO_U2QpSGfZCQy_eTz6le_P1W7MmoG2-Qgkg6BlhZFIHwdDiLmmcQs_MkPwz5Y4C_BqWVn9RJQI7g5goNvQbXeZYW) - -- Click on “Add Token” - -![img](https://lh6.googleusercontent.com/dMoJ-aCZ5wTul-sTBRKu1jniDr9hsPl-kiJuQf9G8YOKfUyW0lnjABl7Fv6BQ8N4exDsnTj43usQcCQLKY_ovcLyjYWvxu4J1AkZ-oq5_WhSR9b3ioKG6mvfyS_LLD2L_reffdfE) - -- Input your token name, for example - -![img](https://lh4.googleusercontent.com/tJ_NhWNbMPCGpmCSaWMJ93sCCUFjZal3H1d5LwY_g8zWivvxehtFsWWnmBG-3MMOYvQmvPyjpx18hky7ETysUKL6EM0DhQRJn0sScKcc_078CDjFQ16vkVHC1R5yzEHnhhN8jYqi) - -- Then you can see your balance of this token - -![img](https://lh4.googleusercontent.com/NJSomyJSGK6h8gYtqNhuaI7jsLxUctRJBSbrmEWKimvQFJqOFwaIBnN5HM13H_Fx514lN0lCptDO7ySyS3t-UYVBM53jqHNDvAy0Z0djUF4mx6rdE0S7sSaYlu7902fz_jeNAFRm) - -- Then you have to deposit to Binance.com again. Please note you have to choose the ERC20 type for deposit \ No newline at end of file diff --git a/docs/beaconchain/fullnode.md b/docs/beaconchain/fullnode.md index c4aadf3..1f2b105 100644 --- a/docs/beaconchain/fullnode.md +++ b/docs/beaconchain/fullnode.md @@ -44,10 +44,10 @@ Please go to and install `git lfs`. 2. Download Binary with Git LFS: ```bash -git lfs clone https://github.com/binance-chain/node-binary.git +git lfs clone https://github.com/bnb-chain/node-binary.git ``` -Please go to [changelog](https://github.com/binance-chain/node-binary/blob/master/fullnode/Changelog.md) to get the information about the latest release of full node version. +Please go to [changelog](https://github.com/bnb-chain/node-binary/blob/master/fullnode/Changelog.md) to get the information about the latest release of full node version. Go to directory according to the network you want to join in.
Replace the `network` variable with `testnet` or `prod` in the following command: @@ -56,7 +56,7 @@ Replace the `network` variable with `testnet` or `prod` in the following command cd node-binary/fullnode/{network}/{version} ``` -3. Copy the executables (i.e.`bnbchaind` or `bnbcli`) to `/usr/local/bin` +1. Copy the executables (i.e.`bnbchaind` or `bnbcli`) to `/usr/local/bin` ### Initialize Home Folder @@ -137,7 +137,7 @@ Configuration is located in `$BNCHOME/config/config.toml`: ##### State Sync -As explained in [BEP18](https://github.com/binance-chain/BEPs/blob/master/BEP18.md), State sync will get the application state of your full node to be up to date without downloading all of the blocks.The sync speed is faster than fast sync.
+As explained in [BEP18](https://github.com/bnb-chain/BEPs/blob/master/BEP18.md), State sync will get the application state of your full node to be up to date without downloading all of the blocks.The sync speed is faster than fast sync.
Now you do not need to allocate more memories to your full node for this feature to work. Configuration is located in `$BNCHOME/config/config.toml`: diff --git a/docs/beaconchain/fullnodeissue.md b/docs/beaconchain/fullnodeissue.md index 71d92e2..ba870b6 100644 --- a/docs/beaconchain/fullnodeissue.md +++ b/docs/beaconchain/fullnodeissue.md @@ -127,7 +127,7 @@ To recover from the `state` conflict error, you need to: * Backup your home directory, (default is ~/.bnbchaind) -* Download the tool: [state-recover](https://github.com/binance-chain/node-binary/tree/master/tools/recover) +* Download the tool: [state-recover](https://github.com/bnb-chain/node-binary/tree/master/tools/recover) * Get the height of upgrade, this height will be announced in the upgrade announcement on the forum. For example, if it's announced as 5000 in the forum and run the following command will make your full node recover to the last block before the upgrade, and that is 4999 : ``` @@ -161,7 +161,7 @@ If you do not download the binaries completely, you will see the following messa ./bnbchaind: line 1: version: command not found ./bnbchaind: line 2: oid: command not found /Library/Developer/CommandLineTools/usr/bin/size: 45160816 No such file or directory ``` -Since all the binaries are stored in `git lfs`, you will see this error is the binary is not complete. Please use this [script](https://github.com/binance-chain/node-binary/blob/master/install.sh) to download the binaries or use `git lfs clone`. +Since all the binaries are stored in `git lfs`, you will see this error is the binary is not complete. Please use this [script](https://github.com/bnb-chain/node-binary/blob/master/install.sh) to download the binaries or use `git lfs clone`. #### Cannot query a specific block diff --git a/docs/beaconchain/get-extra-data-from-fullnode.md b/docs/beaconchain/get-extra-data-from-fullnode.md index ccc4809..c5e04bd 100644 --- a/docs/beaconchain/get-extra-data-from-fullnode.md +++ b/docs/beaconchain/get-extra-data-from-fullnode.md @@ -27,7 +27,7 @@ Then, the full node will save all the trades that have been filled, orders that * Example: -All those [extra info](https://docs.binance.org/get-extra-data-from-fullnode.html#publish-different-messages-to-local-files ) can also be found in exported data from your fullnode. +All those [extra info](https://docs.bnbchain.org/docs/beaconchain/develop/node/extra-info#publish-different-messages-to-local-files) can also be found in exported data from your fullnode. ### Changes In `trade` data structure, there are five new fields: `SSrc`,`BSrc`,`SSingleFee`, `BSingleFee` and `TickerType`. diff --git a/docs/beaconchain/get-started.md b/docs/beaconchain/get-started.md index a1de4c4..39fae72 100644 --- a/docs/beaconchain/get-started.md +++ b/docs/beaconchain/get-started.md @@ -44,7 +44,7 @@ Please refer to the [CLI Reference](./api-reference/cli.md). ### Use SDKs SDKs are also provided as a starting point for your apps.
-There are two advanced SDK solutions for Beacon Chain : [Java]() and [Golang]().
+There are two advanced SDK solutions for Beacon Chain : [Java]() and [Golang]().
Both solutions provide functions for:
* Create wallets and manage keys @@ -53,13 +53,13 @@ Both solutions provide functions for:
Please refer to specific SDK documentation for more information: -- [Go](https://github.com/binance-chain/go-sdk)([Documentation](https://github.com/binance-chain/go-sdk/wiki)) -- [Java](https://github.com/binance-chain/java-sdk)([Documentation](https://github.com/binance-chain/java-sdk/wiki)) -- [Javascript](https://github.com/binance-chain/javascript-sdk) ([Documentation](https://github.com/binance-chain/javascript-sdk/wiki)) -- [C++](https://github.com/binance-chain/cplusplus-sdk)([Documentation](https://github.com/binance-chain/cplusplus-sdk/wiki)) -- [C#](https://github.com/binance-chain/csharp-sdk)([Documentation](https://github.com/binance-chain/csharp-sdk)) -- [Python](https://github.com/binance-chain/python-sdk)([Documentation](https://python-binance-chain.readthedocs.io/en/latest/binance-chain.html#module-binance_chain)) -- [Swift](https://github.com/binance-chain/swift-sdk)([Documentation](https://github.com/binance-chain/swift-sdk/blob/master/README.md)) +- [Go](https://github.com/bnb-chain/go-sdk)([Documentation](https://github.com/bnb-chain/go-sdk/wiki)) +- [Java](https://github.com/bnb-chain/java-sdk)([Documentation](https://github.com/bnb-chain/java-sdk/wiki)) +- [Javascript](https://github.com/bnb-chain/javascript-sdk) ([Documentation](https://github.com/bnb-chain/javascript-sdk/wiki)) +- [C++](https://github.com/bnb-chain/cplusplus-sdk)([Documentation](https://github.com/bnb-chain/cplusplus-sdk/wiki)) +- [C#](https://github.com/bnb-chain/csharp-sdk)([Documentation](https://github.com/bnb-chain/csharp-sdk)) +- [Python](https://github.com/bnb-chain/python-sdk)([Documentation](https://python-bnb-chain.readthedocs.io/en/latest/bnb-chain.html#module-binance_chain)) +- [Swift](https://github.com/bnb-chain/swift-sdk)([Documentation](https://github.com/bnb-chain/swift-sdk/blob/master/README.md)) ## Blockchain Details diff --git a/docs/beaconchain/governance.md b/docs/beaconchain/governance.md index 44621e7..380009a 100644 --- a/docs/beaconchain/governance.md +++ b/docs/beaconchain/governance.md @@ -25,7 +25,7 @@ The account for mainnet is: **bnb1vu5max8wqn997ayhrrys0drpll2rlz4dh39s3h** and t ### Participate in Governance #### Tools -Please use this [tool]() for generating +Please use this [tool]() for generating You can also use [Web Wallet](https://community.binance.org/topic/2487/how-to-manage-your-bep2-token-on-binance-chain-in-web-wallet) for token management operations. @@ -59,7 +59,7 @@ Example on **testnet**: --description "list AAA-254/BNB" --expire-time 1570665600 --chain-id=Binance-Chain-Ganges --node=data-seed-pre-2-s1.binance.org:80 --json --voting-period 604800 ``` !!! Tip - As discussed in [BEP-70](https://github.com/binance-chain/BEPs/blob/master/BEP70.md), BUSD is one of the most influential stable coins worldwide and the most dominant stable coin on Beacon Chain . BEP2 token issuers can list their assets against [BUSD-BD1](https://explorer.binance.org/asset/BUSD-BD1) without the requirement of creating BNB pair first. Listing and trading BUSD pairs on Beacon Chain will facilitate token owners and exchange traders, making the markets more liquid and healthier. BEP70 is already implemented and has been activated after Testnet Nightingale Upgrade. Beacon Chain Mainnet will be upgraded to support BEP-70 soon. + As discussed in [BEP-70](https://github.com/bnb-chain/BEPs/blob/master/BEP70.md), BUSD is one of the most influential stable coins worldwide and the most dominant stable coin on Beacon Chain . BEP2 token issuers can list their assets against [BUSD-BD1](https://explorer.binance.org/asset/BUSD-BD1) without the requirement of creating BNB pair first. Listing and trading BUSD pairs on Beacon Chain will facilitate token owners and exchange traders, making the markets more liquid and healthier. BEP70 is already implemented and has been activated after Testnet Nightingale Upgrade. Beacon Chain Mainnet will be upgraded to support BEP-70 soon. #### Submit a Delist Proposal In testnet, only validators can make a delist proposal. To add a new delist pairs, a validator can run the following command:
diff --git a/docs/beaconchain/index.md b/docs/beaconchain/index.md index 3aef2fe..ad4463f 100644 --- a/docs/beaconchain/index.md +++ b/docs/beaconchain/index.md @@ -1,24 +1,24 @@ -# Beacon Chain Documentation +# Beacon Chain Documentation -Welcome to the Beacon Chain documentation site! +Welcome to the Beacon Chain documentation site! -Please note that both the Beacon Chain software and this documentation site will improve over time and is still a work-in-progress.
+Please note that both the Beacon Chain software and this documentation site will improve over time and is still a work-in-progress.
Be sure to engage with our community channels to stay updated. Have fun trading and see you on chain! -## What are Beacon Chain and Binance DEX? +## What are Beacon Chain and Binance DEX? -[Beacon Chain ](https://www.binance.org) is a blockchain software system developed by Binance and its community. +[Beacon Chain](https://www.binance.org) is a blockchain software system developed by Binance and its community. Binance DEX refers to the decentralized exchange features developed on top of Beacon Chain . Please read the [FAQ](faq/faq.md) to get started. ## What is BNB Smart Chain? -[BNB Smart Chain ](https://www.binance.org/en/smartChain) is an innovative solution to bring programmability and interoperability to Beacon Chain . BNB Smart Chain relies on a system of [41 validators with Proof of Staked Authority (PoSA)](https://github.com/binance-chain/whitepaper/blob/master/WHITEPAPER.md) consensus that can support short block time and lower fees. The most bonded validator candidates of staking will become validators and produce blocks. The double-sign detection and other slashing logic guarantee security, stability, and chain finality. +[BNB Smart Chain](https://www.bnbchain.org/en/smartChain) is an innovative solution to bring programmability and interoperability to Beacon Chain . BNB Smart Chain relies on a system of [41 validators with Proof of Staked Authority (PoSA)](https://https://github.com/bnb-chain/whitepaper/blob/master/WHITEPAPER.md) consensus that can support short block time and lower fees. The most bonded validator candidates of staking will become validators and produce blocks. The double-sign detection and other slashing logic guarantee security, stability, and chain finality. -Please read the [FAQ](faq/bsc/general.md) to get started. +Please read the [FAQ](../BSC-FAQs-general.md) to get started. ## What can I do with Beacon Chain ? @@ -56,7 +56,7 @@ Because BSC is EVM-compatible, it launched with support for the rich universe of You can: -- Send and receive [BNB](https://docs.binance.org/smart-chain/wallet/binance.html#transfer-testnet-bnb-from-bsc-to-bc) and other [BEP2 tokens](https://docs.binance.org/smart-chain/wallet/binance.html#swap-testnet-bep2-token-to-its-bep20-equivalent) cross-chain +- Send and receive [BNB](https://docs.bnbchain.org/docs/binance#transfer-testnet-bnb-from-bsc-to-bc) and other [BEP2 tokens](https://docs.bnbchain.org/docs/binance#swap-testnet-bep2-token-to-its-bep20-equivalent) cross-chain - Explore the transaction history and blocks on the chain, via [bscscan](https://bscscan.com), API and node RPC interfaces. - [Stake you BNB](../wallet/staking.md) to earn some block rewards @@ -84,7 +84,7 @@ and node RPC interfaces. Want to try it **Beacon Chain **? Just give a peek at the first few of pages of the [getting started guide](get-started.md).
You could also have a read through the [FAQ](faq/faq.md). -Want to develop on **BNB Smart Chain **? First, read through the [FAQ](faq/bsc/general.md) and learn about tokens [here](../BEP20.md). +Want to develop on **BNB Smart Chain **? First, read through the [FAQ](../BSC-FAQs-general.md) and learn about tokens [here](../BEP20.md). ## Asset Management diff --git a/docs/beaconchain/keys.md b/docs/beaconchain/keys.md index 25b84fd..5aeeed0 100644 --- a/docs/beaconchain/keys.md +++ b/docs/beaconchain/keys.md @@ -1,3 +1,4 @@ + ## Introduction BNB Chain CLI has a sub-command named `keys` to manage private keys.
diff --git a/docs/beaconchain/learn/BEP8.md b/docs/beaconchain/learn/BEP8.md index c991b17..050f8ff 100644 --- a/docs/beaconchain/learn/BEP8.md +++ b/docs/beaconchain/learn/BEP8.md @@ -1,6 +1,12 @@ -## Introduction +--- +sidebar_label: BEP8 Token Protocol +hide_table_of_contents: false +sidebar_position: 2 +--- -Currently, the cost to get a BEP2 token listed on Binance DEX is about 1500BNB, which is a big barrier to many small, promising projects. As explained in [BEP8](https://github.com/binance-chain/BEPs/blob/master/BEP8.md),the idea of BEP8 Tokens is raised to accommodate the small or micro projects, intellectual properties, and other small token economies to build a more comprehensive venue for token trading. +# Introduction + +Currently, the cost to get a BEP2 token listed on Binance DEX is about 1500BNB, which is a big barrier to many small, promising projects. As explained in [BEP8](https://github.com/bnb-chain/BEPs/blob/master/BEP8.md),the idea of BEP8 Tokens is raised to accommodate the small or micro projects, intellectual properties, and other small token economies to build a more comprehensive venue for token trading. Based on the limitation usage of the network, the cost of issuing and listing of such BEP8 tokens are minimized to a different magnitude. Besides, any BEP8 token issuer can choose to directly list against BNB and BUSD without the voting process of validators. Stablecoin pairs of BEP8 will provide a UX advantage and make any two BEP82 tokens exchangeable. diff --git a/docs/beaconchain/learn/accounts.md b/docs/beaconchain/learn/accounts.md index 3d721e9..12ea7a9 100644 --- a/docs/beaconchain/learn/accounts.md +++ b/docs/beaconchain/learn/accounts.md @@ -32,6 +32,6 @@ After Account is created, besides the balances, Account also contains: - Account Number: an internal identifier for the account - Sequence Number: an ever-changing integer. -The `Sequence Number` is the way how Beacon Chain prevents Replay Attack (the idea is borrowed from Cosmos network, but varies a bit in handling). Every transaction should have a new Sequence Number increased by 1 from the current latest sequence number of the Account, and after this transaction is recorded on the block chain, the Sequence Number will be set to the same number as the one of latest transaction. +The `Sequence Number` is the way how Beacon Chain prevents Replay Attack (the idea is borrowed from Cosmos network, but varies a bit in handling). Every transaction should have a new Sequence Number increased by 1 from the current latest sequence number of the Account, and after this transaction is recorded on the blockchain, the Sequence Number will be set to the same number as the one of latest transaction. This logic forces the client to be aware of the current Sequence Number, either by reading from the blockchain via API, or keep the counting locally by themselves. The recommended way is to keep counting locally and re-synchronize from the blockchain periodically. diff --git a/docs/beaconchain/learn/assets.md b/docs/beaconchain/learn/assets.md index ef14487..48f619e 100644 --- a/docs/beaconchain/learn/assets.md +++ b/docs/beaconchain/learn/assets.md @@ -1,6 +1,6 @@ # Assets -Assets are stored as `tokens` on Beacon Chain , and the below management actions are available. All the assets are complied with [BEP2 standard](https://github.com/binance-chain/BEPs/blob/master/BEP2.md). [BEP](https://github.com/binance-chain/BEPs/blob/master/BEP1.md) stands for BNB Chain Evolution Proposal. Each BEP will be a proposal document providing information to the Beacon Chain /DEX community. The BEP should provide a concise technical specification of the feature or improvement and the rationale behind it. Each BEP proposer is responsible for building consensus within the community and documenting dissenting opinions. Each BEP has a unique index number. +Assets are stored as `tokens` on Beacon Chain , and the below management actions are available. All the assets are complied with [BEP2 standard](https://github.com/bnb-chain/BEPs/blob/master/BEP2.md). [BEP](https://github.com/bnb-chain/BEPs/blob/master/BEP1.md) stands for BNB Chain Evolution Proposal. Each BEP will be a proposal document providing information to the Beacon Chain /DEX community. The BEP should provide a concise technical specification of the feature or improvement and the rationale behind it. Each BEP proposer is responsible for building consensus within the community and documenting dissenting opinions. Each BEP has a unique index number. ## BEP2 Token Properties @@ -22,7 +22,7 @@ Explanations: Suffix is the first 3 bytes of the issue transaction’s hash, for ### Issue Process: -1. Issuer signed an issue transaction and make it broadcasted to one of Beacon Chain nodes +1. Issuer signed an issue transaction and broadcast it to one of Beacon Chain nodes 2. This Beacon Chain node will check this transaction. If there is no error, then this transaction will be broadcasted to other Beacon Chain nodes 3. Issue transaction is committed on the blockchain by block proposer 4. Validators will verify the constraints on total supply and symbol and deduct the fee from issuer’s account diff --git a/docs/beaconchain/learn/atomic-swaps.md b/docs/beaconchain/learn/atomic-swaps.md index ad769d6..278ca20 100644 --- a/docs/beaconchain/learn/atomic-swaps.md +++ b/docs/beaconchain/learn/atomic-swaps.md @@ -15,7 +15,7 @@ Atomic swaps can be used for trading between BEP2 tokens, or for trading crosss ## HTLC on Beacon Chain -As explained in [BEP3](https://github.com/binance-chain/BEPs/blob/master/BEP3.md), Hash Timer Locked Contract(HTLC) has been used for Atomic Swap and cross payment channels between different blockchains. BEP3 defines native transactions to support HTLC on Beacon Chain and also proposes the standard infrastructure and procedure to use HTLC for inter-chain atomic swap to easily create and use pegged token. +As explained in [BEP3](https://github.com/bnb-chain/BEPs/blob/master/BEP3.md), Hash Timer Locked Contract(HTLC) has been used for Atomic Swap and cross payment channels between different blockchains. BEP3 defines native transactions to support HTLC on Beacon Chain and also proposes the standard infrastructure and procedure to use HTLC for inter-chain atomic swap to easily create and use pegged token. During the swap process, the related fund will be locked to a purely-code-controlled escrow account. A purely-code-controlled escrow account is a kind of account which is derived from a hard-coded string in Beacon Chain protocol. This kind of account has no its own private key and it's only controled by code in protocol. The code for calculating escrow account is the same as how it's done in [cosmos-sdk](https://github.com/cosmos/cosmos-sdk/blob/82a2c5d6d86ffd761f0162b93f0aaa57b7f66fe7/x/supply/internal/types/account.go#L40): ``` @@ -404,8 +404,8 @@ refundHTLT | N/A | 0.000375 BNB | Y ### Preparations -1. Deploy smart-contract which supports Atomic Peg Swap (APS), there is already [one example](https://github.com/binance-chain/bep3-smartcontracts) for Ethereum -2. Deploy `deputy` process for handling swap activities by token owners, there is an existing open-source solution here: +1. Deploy smart-contract which supports Atomic Peg Swap (APS), there is already [one example](https://github.com/bnb-chain/bep3-smartcontracts) for Ethereum +2. Deploy `deputy` process for handling swap activities by token owners, there is an existing open-source solution here: 3. Issue and transfer enough tokens ### Testnet Deployment @@ -460,7 +460,7 @@ Then, Deputy will send `HTLT` transaction [here](https://testnet-explorer.binanc ] ``` -You can also get swapID by [calculateSwapID in javascript-sdk](https://github.com/binance-chain/javascript-sdk/blob/91b4d39e96e6433c16a3a1288931f84923075543/src/utils/index.js#L266). It requires three parameters: +You can also get swapID by [calculateSwapID in javascript-sdk](https://github.com/bnb-chain/javascript-sdk/blob/91b4d39e96e6433c16a3a1288931f84923075543/src/utils/index.js#L266). It requires three parameters: | Name | Type | Description | Example | |-- | -- | -- | -- | diff --git a/docs/beaconchain/learn/bc-slashing.md b/docs/beaconchain/learn/bc-slashing.md index ad27a28..eccade8 100644 --- a/docs/beaconchain/learn/bc-slashing.md +++ b/docs/beaconchain/learn/bc-slashing.md @@ -61,7 +61,7 @@ Submit Byzaitine Behavior Evidence of A Smart Chain Validator | 10 | ### Download Binary -Please download `tbnbcli` binary from [here](https://github.com/binance-chain/smart-chain-binary/tree/master/bc/cli) +Please download `tbnbcli` binary from [here](https://github.com/bnb-chain/smart-chain-binary/tree/master/bc/cli) ### Submit BSC evidence diff --git a/docs/beaconchain/learn/bc-staking.md b/docs/beaconchain/learn/bc-staking.md index b16f1be..2a9ffa4 100644 --- a/docs/beaconchain/learn/bc-staking.md +++ b/docs/beaconchain/learn/bc-staking.md @@ -82,10 +82,10 @@ Undelegate Smart Chain Validator | 0.002 | ### Download #### Mainnet -Please download `bnbcli` binary from [here](https://github.com/binance-chain/node-binary/tree/master/cli/prod) +Please download `bnbcli` binary from [here](https://github.com/bnb-chain/node-binary/tree/master/cli/prod) #### Testnet -Please download `tbnbcli` binary from [here](https://github.com/binance-chain/node-binary/tree/master/cli/testnet) +Please download `tbnbcli` binary from [here](https://github.com/bnb-chain/node-binary/tree/master/cli/testnet) ### Create BSC Validator diff --git a/docs/beaconchain/learn/encoding/amino-example.md b/docs/beaconchain/learn/encoding/amino-example.md index 44f09fa..3cc2a9a 100644 --- a/docs/beaconchain/learn/encoding/amino-example.md +++ b/docs/beaconchain/learn/encoding/amino-example.md @@ -16,7 +16,7 @@ Amino supports JSON encoding natively, which is the same as other usual json mar ### Examples in Go-SDK -Let's take a look at an [example function](https://github.com/binance-chain/go-sdk/blob/fe7524098533a6ce6077cf5f28f677329963d17b/client/rpc/dex_client.go#L373) of Beacon Chain go-sdk. +Let's take a look at an [example function](https://github.com/bnb-chain/go-sdk/blob/fe7524098533a6ce6077cf5f28f677329963d17b/client/rpc/dex_client.go#L373) of Beacon Chain go-sdk. ```golang func (c *HTTP) GetProposal(proposalId int64) (types.Proposal, error) { @@ -85,7 +85,7 @@ rawBz, err := c.keyManager.Sign(*signMsg) ``` -## Beacon Chain Transaction Encoding +## Beacon Chain Transaction Encoding Below are the data types that can be sent to Beacon Chain as requests, and their encoding layout. To simplify the presentation, we will use a variant of [Google protocol buffer proto3](https://developers.google.com/protocol-buffers/docs/proto3) language to illustrate how the data fields are organized. Except the all-capitalized fields, other fields will use the default `proto3` encoding logic. diff --git a/docs/beaconchain/learn/encoding/encoding.md b/docs/beaconchain/learn/encoding/encoding.md index 334d4d1..12d4ea5 100644 --- a/docs/beaconchain/learn/encoding/encoding.md +++ b/docs/beaconchain/learn/encoding/encoding.md @@ -6,7 +6,7 @@ hide_table_of_contents: false # Encoding -The Cosmos SDK utilizes two binary wire encoding protocols, [Beacon Chain Amino](https://github.com/binance-chain/bnc-go-amino) +The Cosmos SDK utilizes two binary wire encoding protocols, [Beacon Chain Amino](https://github.com/bnb-chain/bnc-go-amino) and [Protocol Buffers](https://developers.google.com/protocol-buffers), where Amino is an object encoding specification. It is a subset of Proto3 with an extension for interface support. See the [Proto3 spec](https://developers.google.com/protocol-buffers/docs/proto3) for more information on Proto3, which Amino is largely compatible with (but not with Proto2). diff --git a/docs/beaconchain/learn/genesis.md b/docs/beaconchain/learn/genesis.md index 708d7d3..ce2b9ce 100644 --- a/docs/beaconchain/learn/genesis.md +++ b/docs/beaconchain/learn/genesis.md @@ -21,7 +21,7 @@ The state defined in the genesis file contains all the necessary information, li ### Genesis Time and Chain_id -The `genesis_time` is defined at the top of the genesis file. It is a `UTC` timestamps which specifies when the blockchain is due to start. At this time, genesis validators are supposed to come online and start participating in the consensus process. The blockchain starts when more than 2/3rd of the genesis validators (weighted by voting power) are online. +The `genesis_time` is defined at the top of the genesis file. It is a `UTC` timestamp which specifies when the blockchain is due to start. At this time, genesis validators are supposed to come online and start participating in the consensus process. The blockchain starts when more than 2/3rd of the genesis validators (weighted by voting power) are online. ``` "genesis_time": "2019-04-18T05:59:26.228734998Z" diff --git a/docs/beaconchain/learn/signature.md b/docs/beaconchain/learn/signature.md index 6d37ba5..88641e6 100644 --- a/docs/beaconchain/learn/signature.md +++ b/docs/beaconchain/learn/signature.md @@ -12,7 +12,7 @@ Signature is the evidence to prove the sender owns the transaction. It will be c - `source`: a string for a 64 bits integer, which is an identifier for transaction incoming tools - `data`: byte array, reserved for future use - Here is an example in [go-sdk](https://github.com/binance-chain/go-sdk/blob/master/types/tx/stdsign.go#L22): + Here is an example in [go-sdk](https://github.com/bnb-chain/go-sdk/blob/master/types/tx/stdsign.go#L22): ```golang // StdSignMsg def type StdSignMsg struct { diff --git a/docs/beaconchain/learn/threshold-signature-scheme.md b/docs/beaconchain/learn/threshold-signature-scheme.md index e1d979d..4cb24dc 100644 --- a/docs/beaconchain/learn/threshold-signature-scheme.md +++ b/docs/beaconchain/learn/threshold-signature-scheme.md @@ -15,14 +15,14 @@ Combining TSS feature with Beacon Chain client will help users manage their fu ## Implementation -Many development resources have been poured into implementing TSS, a cryptographic protocol for distributed key generation and signing. TSS is now compatible and reusable for ECDSA-based blockchains, including Beacon Chain , Bitcoin, and Ethereum networks. We expect that members of the Binance ecosystem and partner community can integrate this TSS library with their applications, such as wallets and custodians, and further develop this exciting new technology. +Many development resources have been poured into implementing TSS, a cryptographic protocol for distributed key generation and signing. TSS is now compatible and reusable for ECDSA-based blockchains, including Beacon Chain , Bitcoin, and Ethereum networks. We expect that members of the BNB Chain ecosystem and partner community can integrate this TSS library with their applications, such as wallets and custodians, and further develop this exciting new technology. -With the support of the Beacon Chain community, we are happy to share the open-source code at https://github.com/binance-chain/tss-lib. +With the support of the Beacon Chain community, we are happy to share the open-source code at https://github.com/bnb-chain/tss-lib. ## Security Audit -The implementation of a multi-party threshold ECDSA [library](https://github.com/binance-chain/tss-lib) is open source so it can be publicly audited by anyone. An independent third party auditors from [Kudelski Security](https://www.kudelskisecurity.com/) are hired to validate the security of the cryptography in TSS solution. The latest report in October by can be found [here](../../assets/audit-binance-tss-lib-final.pdf). +The implementation of a multi-party threshold ECDSA [library](https://github.com/bnb-chain/tss-lib) is open source so it can be publicly audited by anyone. An independent third party auditors from [Kudelski Security](https://www.kudelskisecurity.com/) are hired to validate the security of the cryptography in TSS solution. The latest report in October by can be found [here](../../assets/audit-binance-tss-lib-final.pdf). Security checks are routinely and continuously planed for all parts of TSS lib implmentations and future audits will be reported to Beacon Chain community. @@ -43,8 +43,8 @@ Let’s take a look at the major steps in TSS: ## Where can I download the Binance TSS CLI? You can download tss client and Beacon Chain Commandline here: -* Mainnet: -* Testnet: +* Mainnet: +* Testnet: ## How to Use * **Warning**: Please test your TSS setup before use this on mainnet. diff --git a/docs/beaconchain/light-client.md b/docs/beaconchain/light-client.md index 97f5982..87ccd0e 100644 --- a/docs/beaconchain/light-client.md +++ b/docs/beaconchain/light-client.md @@ -1,4 +1,4 @@ -# Run a light client to join Beacon Chain +# Run a Light Client to Join Beacon Chain Light client is a program that connects to a full node to help users access and interact with Beacon Chain in a secure and decentralized manner without having to sync the full blockchain. @@ -28,7 +28,7 @@ The light client will soon be open sourced, afterwards you can cross compile lig Download: ```bash -git clone https://github.com/binance-chain/node-binary.git +git clone https://github.com/bnb-chain/node-binary.git ``` Go to directory according to the network you want to join in.
@@ -72,8 +72,8 @@ Start the light client node according to the Platform. Replace the `platform` va There are two required parameters to start a light client node: `chain id` and `full node addr`.
The `chain id` of the network that you want join in.
-You can find chain id at [genesis file in test network](https://github.com/binance-chain/node-binary/blob/master/fullnode/testnet/0.5.8/config/genesis.json) -or [genesis file in prod network](https://github.com/binance-chain/node-binary/blob/master/fullnode/prod/0.5.8/config/genesis.json).
+You can find chain id at [genesis file in test network](https://https://github.com/bnb-chain/node-binary/blob/master/fullnode/testnet/0.5.8/config/genesis.json) +or [genesis file in prod network](https://github.com/bnb-chain/node-binary/blob/master/fullnode/prod/0.5.8/config/genesis.json).
The `full node addr` field can be an address of any full node that you have deployed.
You can refer to [Run a Beacon Chain full node](fullnode.md) to get more details.
diff --git a/docs/beaconchain/list.md b/docs/beaconchain/list.md index 1d21f9f..7b098ba 100644 --- a/docs/beaconchain/list.md +++ b/docs/beaconchain/list.md @@ -1,7 +1,6 @@ # List Transaction - -Only [BEP2](https://github.com/binance-chain/BEPs/blob/master/BEP2.md) tokens issued on Beacon Chain can be listed. Learn how to issue BEP2 tokens [here](tokens.md). If a token's listing proposal has been passed by valdiators, then a `list` transaction must be sent before `expire-time`. +Only [BEP2](https://github.com/bnb-chain/BEPs/blob/master/BEP2.md) tokens issued on Beacon Chain can be listed. Learn how to issue BEP2 tokens [here](tokens.md). If a token's listing proposal has been passed by valdiators, then a `list` transaction must be sent before `expire-time`. ## List Fee Fees will be charge when issuing a token, creating a proposal, depositing and listing. You can refer to [fee table in trading spec](./trading-spec.md). diff --git a/docs/beaconchain/list_instruction.md b/docs/beaconchain/list_instruction.md index 9cab99d..7f36167 100644 --- a/docs/beaconchain/list_instruction.md +++ b/docs/beaconchain/list_instruction.md @@ -20,7 +20,7 @@ Please refer to this [governance doc](governance.md) to learn about how to creat *Community Thread Proposal (Recommended)* -It is recommended that Token Issuers first create a thread under the “Token Issuance & Listings” category in the Beacon Chain Community Forum (https://community.binance.org/). The whole guideline is [here](https://community.binance.org/topic/18/guidelines-on-how-to-list-your-token-on-binance-dex) +It is recommended that Token Issuers first create a thread under the “Token Issuance & Listings” category in the Beacon Chain Community Forum (https://community.binance.org/). The whole guideline is [here](https://community.binance.org/topic/18/guidelines-on-how-to-list-your-token-on-binance-dex) ## 3. Send List Transaction diff --git a/docs/beaconchain/memo-validation.md b/docs/beaconchain/memo-validation.md index c5848c9..2134963 100644 --- a/docs/beaconchain/memo-validation.md +++ b/docs/beaconchain/memo-validation.md @@ -1,10 +1,10 @@ # Customized Scripts and Transfer Memo Validation ## Memo Validation -As explained in [BEP12](https://github.com/binance-chain/BEPs/blob/master/BEP12.md), In some circumstances, users may want to specify additional functions or/and validations on some transactions. With BEP12, exchanges can reject deposits that have no valid digits-only memo. +As explained in [BEP12](https://github.com/bnb-chain/BEPs/blob/master/BEP12.md), In some circumstances, users may want to specify additional functions or/and validations on some transactions. With BEP12, exchanges can reject deposits that have no valid digits-only memo. ## Enable account scripts for cross-chain transfer -[BEP12](https://github.com/binance-chain/BEPs/blob/master/BEP12.md) was introduced to check whether the memo field of any transfer transaction is empty. Since [version 0.8.2](https://github.com/binance-chain/node-binary/releases/tag/v0.8.2), the memo of cross-chain transfer is also checked. From now on, the deposit transaction without memo to exchanges be returned automatically. +[BEP12](https://github.com/bnb-chain/BEPs/blob/master/BEP12.md) was introduced to check whether the memo field of any transfer transaction is empty. Since [version 0.8.2](https://github.com/bnb-chain/node-binary/releases/tag/v0.8.2), the memo of cross-chain transfer is also checked. From now on, the deposit transaction without memo to exchanges be returned automatically. ## What is a customized script? diff --git a/docs/beaconchain/offline.md b/docs/beaconchain/offline.md index 9ecdf2a..3eedded 100644 --- a/docs/beaconchain/offline.md +++ b/docs/beaconchain/offline.md @@ -1,6 +1,5 @@ # Offline - `bnbcli` support generating and signing all types of transactions offline, then broadcast them. This feature will let users generate and sign their transactions at an offline machine, then use another machine to broadcast it to the network ## Generate your unsigned transaction @@ -21,7 +20,7 @@ Then, you can see that the signature of unsigned.json is empty. ## Sign your transaction -You can view the unsigned.json to verify that all the info about this transaction is correct. You need to get the account-number and sequence about your address here: https://docs.binance.org/api-reference/dex-api/paths.html#apiv1accountaddress +You can view the unsigned.json to verify that all the info about this transaction is correct. You need to get the account-number and sequence about your address here: https://docs.bnbchain.org/docs/beaconchain/develop/api-reference/dex-api/paths#apiv1accountaddress You can sign an unsigned transfer transaction on testnet: ``` @@ -50,6 +49,6 @@ You can broadcast your transaction on mainnet: ./bnbcli broadcast signed.json --node https://dataseed5.defibit.io:443 ``` -You can find the list of nodes [here](/api-reference/cli.html#where-to-connect) +You can find the list of nodes [here](develop/api-reference/cli.md#where-to-connect) If the broadcast is successful, you will see the transaction hash in returned info. Please go and verify it in [Explorer](https://testnet-explorer.binance.org). \ No newline at end of file diff --git a/docs/beaconchain/timelock.md b/docs/beaconchain/timelock.md index 2930bf1..1c19f8e 100644 --- a/docs/beaconchain/timelock.md +++ b/docs/beaconchain/timelock.md @@ -1,6 +1,6 @@ # TimeLock -As explained in [BEP9](https://github.com/binance-chain/BEPs/blob/master/BEP9.md), some business plans decide to lock certain amount tokens for pre-defined periods of time, and the only vest in the future according to the schedules. For example, some projects may lock some allocation of the issued tokens as a commitment by the founding team; some business scenarios also need to lock some tokens as collateral for value. +As explained in [BEP9](https://github.com/bnb-chain/BEPs/blob/master/BEP9.md), some business plans decide to lock certain amount tokens for pre-defined periods of time, and the only vest in the future according to the schedules. For example, some projects may lock some allocation of the issued tokens as a commitment by the founding team; some business scenarios also need to lock some tokens as collateral for value. ## TimeLock diff --git a/docs/beaconchain/tokens.md b/docs/beaconchain/tokens.md index ae2bc4e..9cce708 100644 --- a/docs/beaconchain/tokens.md +++ b/docs/beaconchain/tokens.md @@ -1,7 +1,7 @@ # Asset Management ## Introduction -Assets are stored as `tokens` on Beacon Chain , and the below management actions are available. All the assets are complied with [BEP2](https://github.com/binance-chain/BEPs/blob/master/BEP2.md). +Assets are stored as `tokens` on Beacon Chain , and the below management actions are available. All the assets are complied with [BEP2](https://github.com/bnb-chain/BEPs/blob/master/BEP2.md). The [fees](trading-spec.md#fees) that are due must be paid in BNB before any of these operations can be executed. The fees for testnet and mainnet are different. @@ -15,7 +15,7 @@ The [fees](trading-spec.md#fees) that are due must be paid in BNB before any of An issuance transaction contains: -> Note: [BEP87](https://github.com/binance-chain/BEPs/pull/87) is implemented after Lagrange Upgrade. It changes the minimal symbol length to **two** +> Note: [BEP87](https://github.com/bnb-chain/BEPs/pull/87) is implemented after Lagrange Upgrade. It changes the minimal symbol length to **two** * Source Address: the sender address of the transaction and it will become the `owner` of the token, all created tokens will be in this account. * Token Name: it is the long official name, such as "Binance Coin". It is limited to 32 characters. diff --git a/docs/beaconchain/trading-spec.md b/docs/beaconchain/trading-spec.md index 85d1904..d2f63f0 100644 --- a/docs/beaconchain/trading-spec.md +++ b/docs/beaconchain/trading-spec.md @@ -59,7 +59,7 @@ For GTE order, if a GTE order can execute against another order as a whole, the Order would expire after 72 hours once it is booked on a block. A whole order book scan would happen every UTC mid-night to filter out all the expired orders. After the scan, all the expired orders would be removed from the order book, the locked quantity in the account would be unlocked. Before this action all the existing orders in the order book is subject to matching. !!! Tip - As discussed in [BEP-67](https://github.com/binance-chain/BEPs/blob/master/BEP67.md), those orders in the best 500 price levels on both ask and bid side will be expired after **30 days** instead of 72 hours. Meanwhile, the expiration fee is unchanged. BEP67 is already implemented and has been activated after Testnet Nightingale Upgrade. Beacon Chain Mainnet will be upgraded to support BEP-67 soon. + As discussed in [BEP-67](https://github.com/bnb-chain/BEPs/blob/master/BEP67.md), those orders in the best 500 price levels on both ask and bid side will be expired after **30 days** instead of 72 hours. Meanwhile, the expiration fee is unchanged. BEP67 is already implemented and has been activated after Testnet Nightingale Upgrade. Beacon Chain Mainnet will be upgraded to support BEP-67 soon. ## Precision diff --git a/docs/beaconchain/tss.md b/docs/beaconchain/tss.md index 1fe0dbc..89c3a71 100644 --- a/docs/beaconchain/tss.md +++ b/docs/beaconchain/tss.md @@ -17,12 +17,12 @@ Combining TSS feature with Beacon Chain client will help users manage their fu Many development resources have been poured into implementing TSS, a cryptographic protocol for distributed key generation and signing. TSS is now compatible and reusable for ECDSA-based blockchains, including Beacon Chain , Bitcoin, and Ethereum networks. We expect that members of the Binance ecosystem and partner community can integrate this TSS library with their applications, such as wallets and custodians, and further develop this exciting new technology. -With the support of the Beacon Chain community, we are happy to share the open-source code at https://github.com/binance-chain/tss-lib. +With the support of the Beacon Chain community, we are happy to share the open-source code at https://github.com/bnb-chain/tss-lib. ## Security Audit -The implementation of a multi-party threshold ECDSA [library](https://github.com/binance-chain/tss-lib) is open source so it can be publicly audited by anyone. An independent third party auditors from [Kudelski Security](https://www.kudelskisecurity.com/) are hired to validate the security of the cryptography in TSS solution. The latest report in October by can be found [here](./assets/audit-binance-tss-lib-final.pdf). +The implementation of a multi-party threshold ECDSA [library](https://github.com/bnb-chain/tss-lib) is open source so it can be publicly audited by anyone. An independent third party auditors from [Kudelski Security](https://www.kudelskisecurity.com/) are hired to validate the security of the cryptography in TSS solution. The latest report in October by can be found [here](./assets/audit-binance-tss-lib-final.pdf). Security checks are routinely and continuously planned for all parts of TSS lib implementations and future audits will be reported to Beacon Chain community. @@ -44,9 +44,9 @@ Let’s take a look at the major steps in TSS: You can download tss client and Beacon Chain Commandline here: -* Mainnet: +* Mainnet: -* Testnet: +* Testnet: ## How to Use * **Warning**: Please test your TSS setup before use this on mainnet. diff --git a/docs/beaconchain/wallet/tutorial/bep8.md b/docs/beaconchain/wallet/tutorial/bep8.md index cc387e0..1376a5d 100644 --- a/docs/beaconchain/wallet/tutorial/bep8.md +++ b/docs/beaconchain/wallet/tutorial/bep8.md @@ -1,9 +1,9 @@ -# how to manage your BEP8 tokens in BNB Chain Testnet web wallet +# How to manage your BEP8 tokens in BNB Chain Testnet web wallet In this article, we are going to take a tour about how to manage your BEP8 tokens in BNB Chain Testnet [web wallet](https://testnet.binance.org/en/tokens). ## What is BEP8 Token -Since the [Nightingale upgrade](https://community.binance.org/topic/2828) of Beacon Chain testnet, a new token protocol [BEP8](https://github.com/binance-chain/BEPs/blob/master/BEP8.md) is introduced. BEP8 protocol targets a different marketplace and provides several potential business cases in areas like micro-financing. +Since the [Nightingale upgrade](https://community.binance.org/topic/2828) of Beacon Chain testnet, a new token protocol [BEP8](https://github.com/bnb-chain/BEPs/blob/master/BEP8.md) is introduced. BEP8 protocol targets a different marketplace and provides several potential business cases in areas like micro-financing. Currently, the cost to get a BEP2 token listed on Binance DEX is quite expensive, as it takes more system resources, which is more suitable for the mature and large scale projects with enough recognition in the markets. At the same time, more micro-financing cases like copyright owners, peer production, and community incentive points are looking for flexible tokenization and trading platforms to support their current works and share their potential future success. New BEP8 tokens market is introduced to meet these demands and will increase the liquidity of utility tokens, which is similar to Small and Medium Enterprise (SME) board in the traditional stock markets @@ -26,9 +26,9 @@ Currently, the cost to get a BEP2 token listed on Binance DEX is quite expensive * **Maximum Supply**: BEP8 tokens can be categorized by its maximum supply, which could be either 10K or 1million. You have to pay for more for a larger maximum supply. * **Supply**: This amount of token will appear under the balance of token issuer * **Mintable**: Whether this token can be inflationary. -* **Token URI**: you can paste URL of your project’s website or the URI points to a JSON file that conforms to the "Mini-BEP2 Metadata JSON Schema". https://docs.binance.org/guides/concepts/BEP8.html#set-token-uri +* **Token URI**: you can paste URL of your project’s website or the URI points to a JSON file that conforms to the "Mini-BEP2 Metadata JSON Schema". https://docs.bnbchain.org/docs/beaconchain/learn/BEP8.html#set-token-uri -4. Confirm Token Info +1. Confirm Token Info ![img](https://lh6.googleusercontent.com/fBfSXxquRX2jxQ6yxH-ZWMyFoPbFY-e211kBEBuYvV4EEBajbBP2LeUeG3e_GxZ2BI91dULqDzbovVIJS8ktvZGP5uO-20fKaRkZ2TQqT3OC_dFs9rDxoXiMp0tOd041vlJp4vwR) diff --git a/docs/beaconchain/wallet/tutorial/ledger-nano-s-usage-guide.md b/docs/beaconchain/wallet/tutorial/ledger-nano-s-usage-guide.md index 50f8c08..786a18e 100644 --- a/docs/beaconchain/wallet/tutorial/ledger-nano-s-usage-guide.md +++ b/docs/beaconchain/wallet/tutorial/ledger-nano-s-usage-guide.md @@ -7,7 +7,7 @@ Therefore, using a hardware wallet device such as the Ledger Nano S is strongly ## Requirements -In order to use a Ledger device with Beacon Chain and Binance DEX, you will need: +In order to use a Ledger device with Beacon Chain and Binance DEX, you will need: - Supported web browser: Chrome (including Brave, Vivaldi, and other Chromium variants), Opera or Firefox - Access to the Beacon Chain web wallet (https://binance.org/unlock) using your web browser @@ -61,7 +61,7 @@ You will then be redirected to the Trading Interface. For your security, please read the information displayed in the following popup and confirm that the address shown on your Ledger device matches the one shown on-screen.
Press the right button on your device to confirm that the address matches (You must do this to continue). -## How to send Beacon Chain crypto assets +## How to send Beacon Chain Crypto Assets Confirming a trade on a Ledger Wallet: diff --git a/docs/beaconchain/walletconnect.md b/docs/beaconchain/walletconnect.md index 1189386..38ae9d0 100644 --- a/docs/beaconchain/walletconnect.md +++ b/docs/beaconchain/walletconnect.md @@ -1,6 +1,12 @@ -# WalletConnect +--- +sidebar_label: Wallet Connect +hide_table_of_contents: false +sidebar_position: 2 +--- + +# Wallet Connect -The Beacon Chain Web Wallet supports connecting with external wallet providers via the [WalletConnect protocol](https://docs.walletconnect.org/tech-spec). +The Beacon Chain Web Wallet supports connecting with external wallet providers via the [WalletConnect protocol](https://docs.walletconnect.org/tech-spec). WalletConnect allows the user to scan a QR code from the wallet app to unlock and use their wallet seamlessly in the web UI. diff --git a/docs/bep8.md b/docs/bep8.md deleted file mode 100644 index 5a788ee..0000000 --- a/docs/bep8.md +++ /dev/null @@ -1,78 +0,0 @@ -In this article, we are going to take a tour about how to manage your BEP8 tokens in Binance Testnet [web wallet](https://testnet.binance.org/en/tokens). - -## What is BEP8 Token -Since the [Nightingale upgrade](https://community.binance.org/topic/2828) of Beacon Chain testnet, a new token protocol [BEP8](https://github.com/binance-chain/BEPs/blob/master/BEP8.md) is introduced. BEP8 protocol targets a different marketplace and provides several potential business cases in areas like micro-financing. - -Currently, the cost to get a BEP2 token listed on Binance DEX is quite expensive, as it takes more system resources, which is more suitable for the mature and large scale projects with enough recognition in the markets. At the same time, more micro-financing cases like copyright owners, peer production, and community incentive points are looking for flexible tokenization and trading platforms to support their current works and share their potential future success. New BEP8 tokens market is introduced to meet these demands and will increase the liquidity of utility tokens, which is similar to Small and Medium Enterprise (SME) board in the traditional stock markets - -## Issue BEP8 Token - -1. Go to issue [page](https://testnet.binance.org/en/tokens), click at “Issue Token” button - -![img](https://lh6.googleusercontent.com/oncU08EeRRDZTvp83CurYlE1uh695kGpaNkapFgkTC5cfWJKHkptzmLkx2EKnhRgz9TZFTgyMBUz5GeZUYFskLGlimM7zMkcn-gexTErxryARD9bOjC-FUGytw8UEFo2FgIH3IPW) - -2. Choose BEP8, which is also called MiniToken - -![img](https://lh4.googleusercontent.com/OwbEzux0-HWV9L0VWPrtBAOvhG-owvQbPfaRhnCzF0fIRQSWzTfQxYVvggdKi624arMDTl_VD6gyEG4b_fLmB6siCmMoQq5mYLb1KXLeMNzp00rE3O4VWwYRhNkpvpsTQnEJGiZy) - -3. Fill the form to provide information about your token. - -![img](https://lh5.googleusercontent.com/sUI0AaTZ3paH5dxeRm83l5ZAH8VYZ48bibo_P-fGAaMHXsHR0G9_giQ3V5JTwXAEic7LEZOpWrutnj_gTls9wXsOdqzukZGb24gHuqXiLyly_E6K1DdW46gi0VcNARgipzpKug0a) - -* **Token Name**: Token Name length must between 3 and 32 -* **Token Symbol**: Symbol length must between 2 and 5 -* **Maximum Supply**: BEP8 tokens can be categorized by its maximum supply, which could be either 10K or 1million. You have to pay for more for a larger maximum supply. -* **Supply**: This amount of token will appear under the balance of token issuer -* **Mintable**: Whether this token can be inflationary. -* **Token URI**: you can paste URL of your project’s website or the URI points to a JSON file that conforms to the "Mini-BEP2 Metadata JSON Schema". https://docs.binance.org/guides/concepts/BEP8.html#set-token-uri - -4. Confirm Token Info - -![img](https://lh6.googleusercontent.com/fBfSXxquRX2jxQ6yxH-ZWMyFoPbFY-e211kBEBuYvV4EEBajbBP2LeUeG3e_GxZ2BI91dULqDzbovVIJS8ktvZGP5uO-20fKaRkZ2TQqT3OC_dFs9rDxoXiMp0tOd041vlJp4vwR) - -You should wait for a little time before this token appears at your token list. - -## List BEP8 Token - -The listing process is different from BEP2 token list. BEP8 token issuer can list the BEP8 token without the agreement of BNB Chain validators. The BEP8 token can only be listed against BNB or BUSD and they cannot be listed as a quote symbol. - -1. Click on the list button - -![img](https://lh4.googleusercontent.com/AX1YK2vECeTKBO-MnSud2L29R_-q-UZg7kQquF51fu-GQZHxu1Kv2mXYY_vFyFYgvqK7IJMySNvr1x-0AmLs4m320vuCp_yKbcur1XKQ-9QG-DZHOd-mpm3Ykv9Z1hLsKVKhPWlZ) - -2. Fill Price - -* List against BUSD - -![img](https://lh3.googleusercontent.com/mICjk5Ell929GEvgKgEmSmnUt_nCqkHUOJTv9FI93cGchyNHvulMxysqBFTS39WuPMRALbKVyK_fx6relNd4tXh0gDWAKlnjXJnOunYaQBlQU4yQBAjCge_jJ4gIIx4QKO7cj9pP) - -* List against BNB - -![img](https://lh3.googleusercontent.com/iSYkKN1UgLTaZ39mqnEuzhfcyPKS9X370dx52c66bAv6-CxnNCfyJeu2FQafFJDVfA9DdU11Vw5ZxP-p-9z7o3B637E1vcHjviA2WKSctqtCv99UM9kzuhfe8JjDoKvRXRh0-F7M) - -## Trade BEP8 Token - -1. Go to [BEP8 Token exchange](https://testnet.binance.org/en/trade/mini/ABC-524M_BNB) - -![img](https://lh4.googleusercontent.com/ExmXaWy9NlsjZnOUFY3L_SnBADNLkiXn7hea95BTlECKmzoc8KT7DiEHT0VCj0NRiTF-5fki8zVA0_gNNqnCBZyaanD908RiV5DuRB_s4h9TU_gvhxozTaxbvy_rYLoY3K391lFZ) - -2. Place your orders - -![img](https://lh3.googleusercontent.com/kjI__AIls9kvnIz0CYTWHTuRwXGz2YwQf3IuRS3Y6lopunTvyTJ7ucsBNqcGSE4bWkeZebHVlC2Z6Vss2BfAUDQsbiqM77r-mUGIE6871WYjq9kS9U-VFncrGxE7Zqt4p8xEcTWb) - -## Manage the Supply of BEP8 Tokens -* Mint Tokens -Click on `Mint` button and input amount -![img](https://lh3.googleusercontent.com/wt4IKUxV2gxzdRQqGiOXA0QN-VoeKqYiqYbifo1EP4P1kR-ucGkv2KCka50loerOGFFErBBFinTZDG6cr5eeEBV0elr3mDdjD9L5Zd4WJTHBgXBhgEzzFMR58dw4LcyKrDhX-Jd7) - -Please note that the total supply cannot exceed maximum supply. - -* Freeze Tokens -Click on `Freeze` button and input amount -![img](https://lh5.googleusercontent.com/ztXqTJxQ7HWmEUBTOhR1I11k-sVlLlKwCBjanVbNh3CGHdXJH3xU2_AfM0Xgaeq5PqPUVa07yDvmV9DpihGpcipuJr1x2sHC_WZ19K4oaxP4JUXBO3tmhChQMFp2pdSlsXJ2H_eF) -* Unfreeze Tokens -Click on `Unfreeze` button and input amount -![img](https://lh4.googleusercontent.com/MWYG9ONKMGamRt3EZIxxxdP03C4vFOcwk3zL2pBiqFuzDBUNovHGcp5Ypo6FriUX50RAmI_zIroX209jWiFTazS_pHPfNm-vUYMO2fnRTRBA3O1Wn8lkBbzvKrIBhj_y6PnpyzDr) -* Burn Tokens -Click on `Burn` button and input amount -![img](https://lh6.googleusercontent.com/2htVnYFl21yQsYZAzG7zbRdVChbd6PGPhe4sfxnZEnJgCOytNKJ1RuWk1dxxB5JPoPMQuAruvdRx8hbXdffB7lZry3NQ0oGfdjSO2eAfT68WoKI5_3ulPYb_xDcFwKPWMYoBenEo) diff --git a/docs/binance.md b/docs/binance.md index 21e3bcf..b35c575 100644 --- a/docs/binance.md +++ b/docs/binance.md @@ -4,11 +4,12 @@ sidebar_position: 2 hide_table_of_contents: false --- -# Use BNB Chain Extension Wallet +# Use Binance Extension Wallet + ## What is it? -BNB Chain Extension Wallet is a Crypto Wallet for Beacon Chain, BNB Smart Chain . You can send and receive funds on Beacon Chain, BNB Smart Chain and cross-chain transfers between both of Binance’s blockchains. +Binance Extension Wallet is a Crypto Wallet for Beacon Chain, BNB Smart Chain. You can send and receive funds on Beacon Chain, BNB Smart Chain and cross-chain transfers between both of BNB Chain’s blockchains. -In the future, BNB Chain Extension Wallet will add support for Ethereum blockchain and enable access for distributed applications, or "Dapps" in your browser! +In the future, Binance Extension Wallet will add support for Ethereum blockchain and enable access for distributed applications, or "Dapps" in your browser! It’s supported in Firefox and Chrome browsers. @@ -21,7 +22,7 @@ Chrome App Store Link: -[How to manually install the BNB Chain Extension Wallet](manual.md) +[How to manually install the Binance Extension Wallet](manual.md) ## Install @@ -144,7 +145,7 @@ After the transfer transaction is sent, you will see an increase in your balance ## Swap Testnet BEP2 token to its BEP20 equivalent -* Follow the instructions above to Install BNB Chain Extension Wallet if not ready +* Follow the instructions above to Install Binance Extension Wallet if not ready * Follow the instructions above to create or Recover your account * Switch to BNB Chain testnet after unlock your extension wallet and Click at “+” to add your BEP2 token if necessary @@ -174,7 +175,7 @@ Click at “+” to add your BEP20 token if necessary ## Swap Testnet BEP20 token to its BEP2 equivalent -* Follow the instructions above to Install BNB Chain Extension Wallet if not ready +* Follow the instructions above to Install Binance Extension Wallet if not ready * Follow the instructions above to create or Recover your account * Switch to BNB Smart Chain testnet and Click at “+” to add your BEP20 token if necessary diff --git a/docs/bind-tokens.md b/docs/bind-tokens.md index 867ec97..82fe3c5 100644 --- a/docs/bind-tokens.md +++ b/docs/bind-tokens.md @@ -5,15 +5,15 @@ sidebar_position: 2 # Bind BEP2 and BEP20 Tokens -BSC and BC work together to ensure that one token can circulate in both formats with confirmed total supply and be used in different use cases. Token Binding can happen at any time after BEP2/BEP8 and BEP20 are ready. The token owners of either BEP2/BEP8 or BEP20 only need to complete the **Binding** process when a cross-chain feature is necessory. +BSC and BC work together to ensure that one token can circulate in both formats with confirmed total supply and be used in different use cases. Token Binding can happen at any time after BEP2/BEP8 and BEP20 are ready. The token owners of either BEP2/BEP8 or BEP20 only need to complete the **Binding** process when a cross-chain feature is necessary. -You can use this [tool](https://github.com/binance-chain/token-bind-tool). +You can use this [tool](https://github.com/bnb-chain/token-bind-tool). ## Issue BEP2 or BEP8 Token Please refer to this [doc](tokens.md) to issue BEP2 -Please refer to this [doc](bep8.md) to issue BEP8 +Please refer to this [doc](beaconchain/learn/BEP8.md) to issue BEP8 **Example** diff --git a/docs/bnbIntro.md b/docs/bnbIntro.md index d73259f..f455a2d 100644 --- a/docs/bnbIntro.md +++ b/docs/bnbIntro.md @@ -1,26 +1,28 @@ --- sidebar_label: BNB Chain Platform Overview -sidebar_position: 1 --- + # Introduction -In 2017, Binance and BNB were born. Three years later, Binance Smart Chain (BSC) was introduced to the world. As Binance grew bigger and stronger, so did Binance Smart Chain. BSC was born in time for the DeFi revolution, as the public showed increased interest in alternative financial solutions and use cases powered by blockchain. Today, both Binance and BSC remain connected by BNB. -However, with ever growing user base and multiple use-cases like GameFi, DeFi, MetaFi, etc., and for the BNB token to reach its true potential, Binance Chain and Binance Smart Chain (BSC) have been rebranded to become **BNB Chain**. +BNB Chain, one of the most popular blockchains in the world, dedicates to delivering its core infrastructure necessary for future public adoption, and always remains as a community-first and open-source ecosystem built on a permissionless and decentralized environment. + +Binance Chain and Binance Smart Chain have formed together as BNB Chain since February 15, 2022. BNB Chain comprises BNB Beacon Chain (previously Binance Chain) and BNB Smart Chain (previously Binance Smart Chain). While BNB (formerly called “Binance Coin”) has also been renamed as “Build and Build.” The name change is not merely for welcoming the crypto world with more than 1 billion users but also to strengthen the delivery of the core infrastructure necessary for future public adoption and, most importantly, to build a better ecosystem for embracing the large scale Web3 applications. ## What is Build N Build (BNB) Chain? BNB Chain is comprised of: 1. **[BNB Beacon Chain](learn/beaconIntro.md) _(previously Binance Chain)_** - BNB Chain Governance (Staking, Voting) -2. **[BNB Smart Chain (BSC)](learn/intro.md) (_Previously Binance Smart Chain)_** - EVM compatible, consensus layers, and with hubs to multi-chains +2. **[BNB Smart Chain (BSC)](learn/intro.md) (_previously Binance Smart Chain)_** - EVM compatible, consensus layers, and with hubs to multi-chains +3. **[BNB Sidechain](BNBSidechain/overview/bas.md)** - Ready-to-use PoS solutions for developing custom blockchains and dApps with existing BSC functionality. +4. **BNB ZkRolllup _(Coming soon)_** - ZkRollup solution to scale BSC as an super high performance blockchains. + +![BSC 2022](../static/img/assets/BNBChain2022.jpg) ## BNB Token -BNB stands for “**Build and Build**”. Along with _fueling_ transactions on BNB Chain (similar to gas on Ethereum), BNB also acts as a governance token. Holding BNB gives you the right to make your voice heard and is necessary to participate in BNB Chain’s decentralized on-chain governance. With this name change also comes more advancements to benefit users, projects and developers connected to the BNB Chain community. Over the past year, the BNB Chain community has made even further technical upgrades for progressive decentralization, including: -- Initiating the Bruno hard fork to increase the BNB burn rate. - +BNB stands for “**Build and Build**”. Along with _fueling_ transactions on BNB Chain (similar to gas on Ethereum), BNB also acts as a governance token. Holding BNB gives you the right to make your voice heard and is necessary for participation in BNB Chain’s decentralized on-chain governance. With this name change also comes more advancements to benefit users, projects and developers connected to the BNB Chain community. ## Key Features -BSC 2021 (current version) introduces a considerable block size of **__100m gas ceiling__**. For blockchain storage and BSC client we plan to introduce a more advanced logic to cover it and allow further expansion. Currently, to fully sync the BSC blockchain, validators need extensive storage and time. Scaling down the validator and node operator requirements is necessary to enable a seamless BSC experience. +BSC 2021 (current version) introduces a considerable block size of **__100m gas ceiling__**. We plan to introduce a more advanced logic for blockchain storage and BSC client to cover it and allow further expansion. Currently, to fully sync the BSC blockchain, validators need extensive storage and time. Scaling down the validator and node operator requirements is necessary to enable a seamless BSC experience. - New technologies, like Erigon, are being verified to decrease both time and storage demands for validators nodes while performing full sync. - - Working with validators and infrastructure providers to deploy new solutions to address this issue, such as - Parallel EVM - Better block process pipeline @@ -29,12 +31,10 @@ BSC 2021 (current version) introduces a considerable block size of **__100m gas - Distributed nodes - 20 more validators to join the block production of BSC 2022 -![BSC 2022](../static/img/assets/bsc2022.jpg) - ## Future Goal -Innovation never sleeps, and it’s clear that the future of BNB Chain goes into a world of over 1 billion users. MetaFi is also a key part of this too, helping to create a future where interoperability makes lives easier. BNB Chain’s mission is to build the infrastructure powering the world’s parallel virtual ecosystem, and BNB Chain’s commitment to the community is that it will be: +Innovation never sleeps, and it’s clear that the future of BNB Chain goes into a world of over 1 billion users. BNB Chain’s mission is to build the infrastructure that powers the world’s parallel virtual ecosystem, and BNB Chain’s commitment to the community is that it will be: - Open - Multi-chain - For creators and inventors - Permissionless -- Forever decentralized \ No newline at end of file +- Forever decentralized diff --git a/docs/bsc-relayer.md b/docs/bsc-relayer.md index 09404e5..fdaea0c 100644 --- a/docs/bsc-relayer.md +++ b/docs/bsc-relayer.md @@ -25,17 +25,18 @@ If you haven't created your account yet, please follow these [guides](wallet/met Make sure that you have installed [Go 1.13+](https://golang.org/doc/install) and have added `GOPATH` to `PATH` environment variable ```bash -git clone https://github.com/binance-chain/bsc-relayer +git clone https://github.com/bnb-chain/bsc-relayer # Enter the folder bsc was cloned into cd bsc-relayer # Comile and install bsc make build ``` -or you can download the pre-build binaries from [release page](https://github.com/binance-chain/bsc-relayer/releases/tag/v1.1.0) +or you can download the pre-build binaries from [release page](https://github.com/bnb-chain/bsc-relayer/releases/tag/v1.1.0) ## Get Example Config File -Get example config from this url: + +Get example config from this url: Edit`config.json` and fill your BSC private key to bsc_config.private_key, example private key: `AFD8C5D83F148065176268A9D1EE375A10CEE1E74D15985D4CC63E467EC34DA5` @@ -57,7 +58,7 @@ Output: ``` (base) huangsuyudeMacBook-Pro:mac huangsuyu$ bsc-relayer --config-type local --config-path config.json 2020-05-27 17:01:16 INFO main Start relayer -2020-05-27 17:01:16 INFO SyncProtocol Sync cross chain protocol from https://github.com/binance-chain/bsc-relayer-config.git +2020-05-27 17:01:16 INFO SyncProtocol Sync cross chain protocol from https://github.com/bnb-chain/bsc-relayer-config.git 2020-05-27 17:01:18 INFO RegisterRelayerHub This relayer has already been registered 2020-05-27 17:01:18 INFO CleanPreviousPackages channelID: 1, next deliver sequence 55 on BSC, next sequence 55 on BC 2020-05-27 17:01:18 INFO CleanPreviousPackages channelID: 2, next deliver sequence 1273 on BSC, next sequence 1273 on BC @@ -67,9 +68,9 @@ Output: 2020-05-27 17:01:19 INFO Serve start admin server at 0.0.0.0:8080 ``` -Or, dynamic Sync Cross Chain Protocol Configuration from +Or, dynamic Sync Cross Chain Protocol Configuration from -* Edit config.json and change "cross_chain_config.protocol_config_type" to "remote". Then relayer will dynamically sync cross chain protocol configuration from this repository: +* Edit config.json and change "cross_chain_config.protocol_config_type" to "remote". Then relayer will dynamically sync cross chain protocol configuration from this repository: * Start relayer service ```shell @@ -80,7 +81,6 @@ Or, dynamic Sync Cross Chain Protocol Configuration from . According to the design of [Relayer Incentive](learn/incentives.md), the rewards will be distributed every 1000 data packages. The total accumulated rewards can be read from [contract](https://bscscan.com/address/0x0000000000000000000000000000000000001005#readContract)the value of `_collectedRewardForHeaderRelayer` and `_collectedRewardForTransferRelayer`. diff --git a/docs/bsc-tutorials.md b/docs/bsc-tutorials.md new file mode 100644 index 0000000..f88536e --- /dev/null +++ b/docs/bsc-tutorials.md @@ -0,0 +1,41 @@ +--- +sidebar_label: Tutorials +hide_table_of_contents: false +--- + +# Tutorials +In this section, we have provided tutorials on usage of different components of BNB Smart Chain. + +### Validator +* Tutorial on [How to Join BNB Smart Chain Mainnet as Validator](validator/guideline-mainnet.md) +* Tutorial on [How to Join BNB Smart Chain Testnet as Validator](validator/guideline-testnet.md) +* Tutorial on [How to Create a Validator on BNB Smart Chain Testnet](validator/testnet.md) +### Full Node +* Tutorial on [How to Run a Full Node on BNB Smart Chain](validator/fullnode.md) +* Tutorial on [How to Run a Local BNB Smart Chain Network](local.md) +* Tutorial on [How to Upgrade Geth (Full Node) on BNB Smart Chain](validator/upgrade-fullnode.md) +### Staking and Delegation +* Tutorial on [How to Stake BNB Tokens on BSC](staking-with-ext-wallet.md) +* Tutorial on [How to Delegate BNB Tokens on BSC](del-guide.md) +### Smart Contracts +* Tutorial on [How to Write BEP20 (Proxy) Contacts](proxy.md) +* Tutorial on [How to Verify BEP20 (Proxy) Contacts](verify-proxy.md) +* Tutorial on How to Deploy and Test Smart Contracts on BSC + * [Using Remix](remix.md) + * [Using Truffle](truffle-new.md) + * [Using HardHat](hardhat-new.md) +* Tutorial on [How to Verify Deployed Smart Contract on bscScan](verify.md) +### Tokens +#### BEP Tokens +* Tutorial on [How to Issue BEP20 Tokens](issue-BEP20.md) +* Tutorial on [How to Bind BEP2 and BEP20 Tokens](bind-tokens.md) +* Tutorial on [How to Mirror BEP2 and BEP20 Tokens](mirror.md) +* Tutorial on [How to Sync BEP2 and BEP20 Supply](sync.md) +* Tutorial on [How to Perform Cross-Chain Transfer of BEP2 and BEP20 Tokens Between BC and BSC](cross-chain-transfer.md) +#### NFT +* Tutorial on [How to Implement Token URI](develop/../nft-metadata-standard.md) +* Tutorial on [How to Deploy NFTs on BSC](ERC721.md) +### Wallets +* Please refer [here](wallets/wallet-tutorial-overview.md) for a list of tutorials on different supported wallets. +### BNB Chain Development (Video Series) +* Tutorial on [How to Build on BNB Chain](https://www.youtube.com/watch?v=TsraNMHENIE&list=PLD2Yls_M04XPTdEBGmTu6A-atFn3_mmCZ) diff --git a/docs/cat-FAQs.md b/docs/cat-FAQs.md deleted file mode 100644 index 50385e1..0000000 --- a/docs/cat-FAQs.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -sidebar_label: FAQs Categories -sidebar_position: 2 ---- - -# FAQs Categories -In this section, we have compied the different FAQs for providing a quick guide to our users' queries. - -### BC FAQs -* [Beacon Chain & DEX](BC-FAQs.md) - -## BSC FAQs -* [General](BSC-FAQs-general.md) -* [Tokens](BSC-FAQs-tokens.md) -* [Validators](BSC-FAQs-validator.md) -* [Delegators](BSC-FAQs-delegator.md) -* [Staking Parameters](parameters.md) -* [Cross-Chain Communication](cross.md) \ No newline at end of file diff --git a/docs/circulation-model.md b/docs/circulation-model.md index b8a4d4d..a5b72de 100644 --- a/docs/circulation-model.md +++ b/docs/circulation-model.md @@ -29,8 +29,7 @@ Let's walk through an example: 1. Bob issues BTC on BC with a total supply of 10, and he sends Alice 2 BTC. 2. Bob issues BTC on BSC with a total supply of 10, and he sends Tom 1 BTC. -Now Bob wants BTC to flow between BC and BSC, but the total circulation on BC and BSC is 20=10+10 BTC which is not correct, so he decided to bind these two tokens. -He made a decision that 8 BTC circulation on BC and 2 BTC circulation on BSC, then he started a bind transaction. +Now Bob wants BTC to flow between BC and BSC, but the total circulation on BC and BSC is 20=10+10 BTC which is not correct, so he decided to bind these two tokens. He made a decision that 8 BTC circulation on BC and 2 BTC circulation on BSC, then he started a bind transaction. The BC execution engine will: 1. Transfer 2 BTC from Bob's account to `Peg Account`. @@ -38,7 +37,7 @@ The BC execution engine will: For now, on BC, Bob has 6 BTC, Alice has 2 BTC, 2 BTC is locked in `Peg Account`, circulation on BC is 8 BTC. -Relayer watches the cross-chain event on BC, and send a transaction to [TokenManager](https://bscscan.com/address/0x0000000000000000000000000000000000001008) contract on BSC. +The Relayer watches the cross-chain event on BC, and sends a transaction to [TokenManager](https://bscscan.com/address/0x0000000000000000000000000000000000001008) contract on BSC. Then Bob invokes the BTC contract on BSC to approve [TokenManager](https://bscscan.com/address/0x0000000000000000000000000000000000001008) to spend 8 BTC of his account. After that Bob approves the bind request by invoking [TokenManager](https://bscscan.com/address/0x0000000000000000000000000000000000001008). @@ -66,9 +65,7 @@ Let's walk through an example: ## Mint - -When user mint token on the native chain, but do not mint on the parallel chain, it may cause an issue that user can not cross transfer all token from -native chain to parallel chain. +When a user mints a token on the native chain, but does not mint it on the parallel chain, it may cause an issue that users can not cross transfer all tokens from the native chain to the parallel chain. Let's walk through an example: diff --git a/docs/contribute.md b/docs/contribute.md index c28f110..2dc6ddf 100644 --- a/docs/contribute.md +++ b/docs/contribute.md @@ -10,33 +10,32 @@ Your contributions to the BNB Chain will help build a fast and secure decentrali We want to make it as easy as possible to contribute changes that help the BNB Chain grow and thrive. There are a few guidelines that we ask contributors to follow so that we can merge your changes quickly. -Getting Started -Make sure you have a GitHub account. -Create a GitHub issue for your contribution, assuming one does not already exist. -Clearly describe the issue including steps to reproduce if it is a bug. -Fork the repository on GitHub. -Minor Changes -Documentation -For small changes to comments and documentation, it is not always necessary to create a new GitHub issue. In this case, it is appropriate to start the first line of a commit with 'doc' instead of an issue number. - -Finding things to work on +**Steps for Contributing on GitHub** +- Make sure you have a GitHub account. +- Create a GitHub issue for your contribution, assuming one does not already exist. +- Clearly describe the issue including steps to reproduce if it is a bug. +- Fork the repository on GitHub. +- Minor Changes +- Documentation +- For small changes to comments and documentation, it is not always necessary to create a new GitHub issue. In this case, it is appropriate to start the first line of a commit with 'doc' instead of an issue number. + +**Finding things to work on** The first place to start is always looking over the current GitHub issues for the project you are interested in contributing to. Issues marked with [help wanted][help-wanted] are usually pretty self-contained and a good place to get started. Of course, feel free to create a new issue if you think something needs to be added or fixed. -Making Changes -Create a topic branch from where you want to base your work. -This is usually the master branch. -Please avoid working directly on the master branch. -Make sure you have added the necessary tests for your changes and make sure all tests pass. -Submitting Changes -Push your changes to a topic branch in your fork of the repository. -Submit a pull request to the docs repository in the BNB Chain organization. -Include a descriptive [commit message][commit-msg]. -Changes contributed via pull request should focus on a single issue at a time. -Rebase your local changes against the master branch. Resolve any conflicts that arise. -This document is inspired by: +**Making Changes** +- Create a topic branch from where you want to base your work. This is usually the master branch. Please avoid working directly on the master branch. +- Make sure you have added the necessary tests for your changes and make sure all tests pass. + +**Submitting Changes** +- Submit a pull request to the docs repository in the BNB Chain organization. +- Include a descriptive [commit message][commit-msg]. +- Changes contributed via pull request should focus on a single issue at a time. +- Rebase your local changes against the master branch. Resolve any conflicts that arise. -https://github.com/puppetlabs/puppet/blob/master/CONTRIBUTING.md -https://github.com/thoughtbot/factory_girl_rails/blob/master/CONTRIBUTING.md -https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md \ No newline at end of file + +This document is inspired by: +- +- +- \ No newline at end of file diff --git a/docs/create-wallet.md b/docs/create-wallet.md index 191530b..97c986b 100644 --- a/docs/create-wallet.md +++ b/docs/create-wallet.md @@ -5,7 +5,7 @@ sidebar_position: 2 --- # Key Management -This article is a guide about key management strategy on client side of your Decentralised Application on Binance Smart Chain +This article is a guide about key management strategy on client side of your Decentralised Application on BNB Smart Chain ## Setup Web3 diff --git a/docs/cross-chain-transfer.md b/docs/cross-chain-transfer.md index 896d7d4..201582f 100644 --- a/docs/cross-chain-transfer.md +++ b/docs/cross-chain-transfer.md @@ -12,7 +12,6 @@ Cross-chain transfers only support bound BEP2 or BEP8 tokens on BC and BEP20 tok First, you should make sure that it's already bound. For example, you could see the binding info of **BNB**: - ```shell ## mainnet bnbcli token info --symbol BNB --trust-node --node http://dataseed4.binance.org:80 @@ -62,7 +61,7 @@ Committed at block 465899 (tx hash: 68FFF82197E27A3EC14AFF8C99A035FA9CA7120312AA ### transferOut -Call **transferOut** of [TokenHub contract](https://raw.githubusercontent.com/binance-chain/bsc-genesis-contract/master/abi/tokenhub.abi) in [MyEtherWallet](https://www.myetherwallet.com/): +Call **transferOut** of [TokenHub contract](https://raw.githubusercontent.com/bnb-chain/bsc-genesis-contract/master/abi/tokenhub.abi) in [MyEtherWallet](https://www.myetherwallet.com/): ![img](https://lh3.googleusercontent.com/q8-nnt12h8gvYyMe6iwLalwzY-1jHfQ11BsSyIz3qkQPCjp_-D-dIzPxZ-HuMJngCxTs7pt65-zSUIYImpsoO8bJ_QC_pyfPMu_2O7Lh65uDvVXrkhKqOakI070vKuEK3UNnlk8m) @@ -71,7 +70,7 @@ Call **transferOut** of [TokenHub contract](https://raw.githubusercontent.com/bi | Parameter Name | Type | Description | | -------------- | ------- | ------------------------------------------------------------ | | contractAddr | address | for BNB, the value must be 0x0000000000000000000000000000000000000000 | -| recipient | address | decode bech32 address, starting with `0x` . To transfer to hex string. This is a online too to decode bech32: https://slowli.github.io/bech32-buffer/ | +| recipient | address | decode bech32 address, starting with `0x` . To transfer to hex string. This is an online tool to decode bech32: https://slowli.github.io/bech32-buffer/ | | amount | uint256 | The BNB decimals on BSC is 18. If you want to transfer one BNB, then the value should be 1e18. Besides, the value must be N * 1e10 | | expireTime | uint256 | Timestamp, counted by second | @@ -83,14 +82,14 @@ txValue = (amount + RelayFee)/1e18 `RelayFee` should be 0.01BNB and it can be updated by on-chain governance. For example, if you transfer 1BNB from BSC to BC, the value should be at least 1.01BNB. -After all the above parameters have been set to proper values, users can click the transact button to build transactions, and metamask plugin will be ejected. Then users can click the confirm button in metamask to sign and broadcast transactions. +After all the above parameters have been set to proper values, users can click the transact button to build transactions, and Metamask plugin will be ejected. Then users can click the confirm button in the Metamask to sign and broadcast transactions. ### batchTransferOutBNB Call **batchTransferOutBNB** of TokenHub contract in MyEtherWallet: -![img](https://github.com/binance-chain/docs-site/raw/master/docs/assets/batchTransferOutBNB.png)s +![img](https://github.com/bnb-chain/docs-site/raw/master/docs/assets/batchTransferOutBNB.png) | Parameter Name | Type | Description | | -------------- | --------- | ------------------------------------------------------------ | @@ -133,7 +132,7 @@ The value here should be RelayFee. ### Mint -If both the BEP20 token and bep2 token are mintable, then token owners can still mint their tokens even after token binding. Besides, token owners need to ensure the total supply and the locked amount on both chains are still matched, otherwise, users might can’t transfer their tokens to another chain. +If both the BEP20 token and BEP2 token are mintable, then token owners can still mint their tokens even after token binding. Besides, token owners need to ensure the total supply and the locked amount on both chains are still matched. Otherwise, users might can’t transfer their tokens to another chain. #### Mint token on BC diff --git a/docs/cross.md b/docs/cross.md index ca8811b..32e39cb 100644 --- a/docs/cross.md +++ b/docs/cross.md @@ -40,6 +40,6 @@ Please refer to this [guide](cross-chain-transfer.md) for details ### How to send cross-chain transfer? -You can use [BNB Chain extension wallet](wallet/binance.md) or +You can use [BInance Extension Wallet](wallet/binance.md) or use [Trust wallet](https://community.trustwallet.com/t/how-to-send-and-receive-bnb-on-smart-chain/67430) \ No newline at end of file diff --git a/docs/del-guide.md b/docs/del-guide.md index 9cc23e0..a7ed276 100644 --- a/docs/del-guide.md +++ b/docs/del-guide.md @@ -1,79 +1,75 @@ --- sidebar_label: Delegator Guide sidebar_position: 2 -hide_table_of_contents: true +hide_table_of_contents: false --- -# How to Delegate - -## Delegate with BNB Extension Wallet +# How to Delegate your BNB tokens with the BNB Extension Wallet Detailed user guide is [here](staking-with-ext-wallet.md) -### Create an account if necessary - -Please refer to this guide on [how to create a wallet](binance.md) with BNB Extension Wallet - -### Go to the staking page: +1. Create an Account If Necessary + - Please refer to this guide on [how to create a wallet](binance.md) with BNB Extension Wallet -- Mainnet: -- Testnet: +2. Go to the staking page: + - Mainnet: + - Testnet: -### Unlock your wallet -img +3. Unlock Your Wallet + +![img](https://lh4.googleusercontent.com/rCFd8jPzCspJDYEKO02JvZTVhNPWL1UGZIENnhIJ9_7h-8UXp20PhGxg2xzwNmRKQiFRLnrmMVaTDd1dYAmVk1b2WVG9DBnsuFFYOlpI-xCeZhtObAfgjzVUlmqQ43BWCyPKhwjl) +4. Click on “Connect Wallet” -### Click on “Connect Wallet” +![img](https://lh6.googleusercontent.com/4o4Aj53r-LincYLkStkIXTi-wTHuAj4BKkS-Yt7pWokTEfiFtjstvMFHt4yiTr5WrNwsqfUFdhWhsnUDCv11UpogqHo08vd41-o7bcFRLSOlsdGmJmLhdfqNHK6Pge4IToISwU-R) -img +5. Swtich to Beacon Chain Network -### Swtich to Binance Chain Network - -If you are using Binance Smart Chain, please follow these steps to switch network: +If you are using BNB Smart Chain, please follow these steps to switch network: - Click on "Change Network" img -- Choose "Binance Chain Network" +- Choose "Beacon Chain Network" img -## Choose a validator +6. Choose a validator -img +![img](https://lh3.googleusercontent.com/62tAplbV-lv5Hy5-lrUEvkLk29GT_LPpsRmOq-tR5az_1KwVkdLjG__Oxoe2skKSjqkDA7TqGgq1YlPDkXEFiejiD_mSyhLUiyD8O4CCH9nBztTu2ctetdHfXZH85b6Ge9kHEV2Q) -- Click on “delegate” and input the amount +7. Click on “delegate” and input the amount -img +![img](https://lh4.googleusercontent.com/-mfR40ZPqZ3yih90oXNee4DULAnbV1l3ZWbkGgqgi07tdXDcCFR_5eA5PY23vW_GqO0sXlkwTr_laljPl11COpX0hB4KBA6_dHgGGUqe8y2YxYNECcKZvc75GdW9WlaFJf4zx776) -- Confirm your transaction in extension wallet +8. Confirm your transaction in the Binance Extension Wallet -img +![img](https://lh5.googleusercontent.com/U_ji1L_LgRaxKmRHFvvUwtiOb7SXqTZ6GrMiqvK2gR_aS21bVTqgTHp2aF207pKxfZaYd38QFvRau20n8zbd_MZ1_6ktWEoXYbRrf6vSUdp2W1yWfwqWFqbhjvrbGiX1YRMzJj7b) -**Success** +9. Upon **Success** you will see a similar output -img +![img](https://lh5.googleusercontent.com/avie7-_5sa8jnI8XdFa1EytOMB9pZVULKQntno3hk3w3MuWJtwE9WNYayKTA0W7mymtJLG5mKZFk42TvUyGa_qSAi5rIH88LL2riKln35loCEHl3ntaqZEspWwUMbOgPdZbhOSp6) -- your delegation overview +10. View Your delegation overview -img +![img](https://lh6.googleusercontent.com/U1QavwEpXDRUaYfy2Ghd4N1Di8lKQ3kHKEw1rOv9Y-OV3W6wY1IbCSs8XdIwvHjMe5VfzoKnOVKazdJicAhS6LwmqlYYvRKJYBzTX9pjPZctvCQlTFNhSzV2-rZKMu2XUvfB8Xuf) -You can see the staking history from +11. You can also see the staking history -img +![img](https://lh4.googleusercontent.com/m8hyetwRYQS-HLcubdSkuhjAAFDyWQptswGJKUWaAwcK-m1yVblM-5pXL599ogLJ1DjkKUo75WOzt6JUDxrnUNwNANDa1ZpuyHxlDxRg7enDF8jkhF70SkWeAPq6hAARAcphlaKw) -## Delegate with Binance Chain Command line +## Delegate with BNB Chain Command line -### Download *bnbcli* +1. Download *bnbcli* -### Verify your balance is enough +2. Verify your balance is enough -Fee for `Delegate Smart Chain Validator`is **0.001BNB** + - Fee for `Delegate Smart Chain Validator`is **0.001BNB** -The minimum delegated amount is **1BNB**. + - The minimum delegated amount is **1BNB**. -### Choose a validator +3. Choose a validator You can use `bnbcli` or `tbnbcli` for querying the [list of current validators](stake/cli-commands.md#query-side-chain-top-validators). @@ -85,11 +81,11 @@ bnbcli staking side-top-validators --top 10 --side-chain-id=bsc --chain-id=Binan tbnbcli staking side-top-validators --top 10 --side-chain-id=chapel --chain-id=Binance-Chain-Ganges ``` -## Delegate BNB +4. Delegate BNB You can use `bnbcli` or `tbnbcli` to [delegate](stake/cli-commands.md#delegate-bnb) some of BNB to a validator -Go to [explorer](https://explorer.binance.org/) to verify your transactions. +Go to [explorer](https://explorer.bnbchain.org/) to verify your transactions. ```bash ## mainnet @@ -108,14 +104,12 @@ You can use `bnbcli`or `tbnbcli` to [redelegate](stake/cli-commands.md#redelegat ## For Testnet -### Enable Testnet Configuration - -img - -### Get some testnet fund from faucet +1. Enable Testnet Configuration -Go to this faucet page: +![img](https://lh6.googleusercontent.com/mrQlZM2w-TDXQ_xfSA3XsSo_IhM0mtdnSg52Vi8pgjQYItKDAiuVwxoilMqBgVHgpc71c118-3U-79iXWP4cW-DacdfrY_RcbF3x633khQcB271pLCvLIa3uOwq19vrjZ46HDeB6) -### Transfer BNB from BSC to BC +2. Get some testnet fund from faucet + - Go to this faucet page: -Please refer to this [guide](binance.md) \ No newline at end of file +3. Transfer BNB from BSC to BC + - Please refer to this [guide](binance.md) \ No newline at end of file diff --git a/docs/dev-outlook/community.md b/docs/dev-outlook/community.md index 11ff00b..5279842 100644 --- a/docs/dev-outlook/community.md +++ b/docs/dev-outlook/community.md @@ -3,10 +3,10 @@ sidebar_label: Community sidebar_position: 2 --- -## Buidling For the Community, With the Community, and By the Community +# Buidling For the Community, With the Community, and By the Community BNB has been on a journey. BSC is not the end, but another start. BSC is a testimony on how a great ecosystem can be co-built by the community. The same as other blockchain projects, the secret sauce of the success always includes the attitude to be more open, inclusive, collaborative, persistent and down-to-earth. The research and development of the BNB ecosystem, with BSC as the first major inception point, will go further down the road to embrace the community, open source, and collective intelligence, which are essentially the good part of decentralization. -That is why we put this as a topic to push hard on persistently, for now and for the future. \ No newline at end of file +That is why we put this as a topic to push hard on persistently, for now and for the future. diff --git a/docs/dev-outlook/decentralization.md b/docs/dev-outlook/decentralization.md index 0a6364f..4f91ecb 100644 --- a/docs/dev-outlook/decentralization.md +++ b/docs/dev-outlook/decentralization.md @@ -14,7 +14,7 @@ BSC will introduce more validators, e.g. another 20 inactive validators, into th Candidates will produce blocks and charge gas fees in BSC mainnet, but in a much less chance than the official validator set of 21 elected. The unavailable candidates will be slashed as well though in a smaller size. A decent motivation is expected to be maintained so that the candidate validators are willing to ensure the quality and help secure BSC. -In an extreme case, if a majority of the active 21 validators get attacked and offline, Candidate Validators can report to Binance Chain about the stale blocking, resume it and eventually propose a re-election of active validator set. +In an extreme case, if a majority of the active 21 validators get attacked and offline, Candidate Validators can report to Beacon Chain about the stale blocking, resume it and eventually propose a re-election of active validator set. ## Temporary Maintenance Mode for Validators Due to the design of ‘Parlia’ consensus, the absence of the validator, even if it is due to scheduled maintenance, will cause instability and capacity of BSC due to the extra waiting time and chain reorganization. diff --git a/docs/dev-outlook/scaling.md b/docs/dev-outlook/scaling.md index cd1861e..e551b57 100644 --- a/docs/dev-outlook/scaling.md +++ b/docs/dev-outlook/scaling.md @@ -3,6 +3,8 @@ sidebar_label: Scaling sidebar_position: 2 --- +# Scaling + ## BSC Throughput Boost Though many have challenged that BSC chose to scale up the capacity by shorter block time and larger block gas limit. There is strong faith that there is still room to improve the capacity of the current PoSA based BSC. @@ -14,7 +16,7 @@ Based on the past research and investigation, storage has been commonly consider ## Erigon Based BSC Client or Another Storage Model [Erigon](https://github.com/ledgerwatch/erigon), a.k.a the previous “turbo-geth”, has been striving hard to improve the storage system of Ethereum/Geth in the past 3 years and now blossomed into beta status. Its new storage model with the new database, MPT generation methodology and staged sync has been proven to run much more efficiently than Geth for the large storage. Creating a BSC client based on Erigon will certainly improve the efficiency of the BSC archive node by reducing the storage size and improving the sync time. -[Ankr is already contributing to the task](https://github.com/binance-chain/bsc-erigon). The full node binary is ready to run while the validator mode is being worked on. +[Ankr is already contributing to the task](https://github.com/bnb-chain/bsc-erigon). The full node binary is ready to run while the validator mode is being worked on. Besides the instant benefits, the new storage model of Erigon may also set a better cornerstone for the other storage related optimizations. @@ -25,7 +27,7 @@ For high performance computing, it is almost impossible to only rely on one node Running different functions of a blockchain client on different processes or machines are not new. Erigon proposes to run the RPC function in a standalone process on the same or different machine. The Merge of ETH 2.0 will also decompose the consensus and execution layers onto different client softwares. -A typical blockchain client comprises many functionalities, P2P networking, consensus, RPC service, execution layer etc. Even zooming in these parts, e.g. the execution layer, is composed of many steps, such as the computing of transactions, the state persistence and the generation of different MPT(Merkle Patricia Trie) roots. Decoupling the functions onto different processes and machines can take advantage of the better computing and storage capacity. Some community members have started [some trials](https://github.com/binance-chain/bsc/pull/640) 1. However, distributing the node also poses great challenges, especially on synchronization between the distributed sub-nodes without losing the blockchain network security, i.e. the full node operators can easily run the suite of processes to keep the network running with the same level of security but much more capacity. +A typical blockchain client comprises many functionalities, P2P networking, consensus, RPC service, execution layer etc. Even zooming in these parts, e.g. the execution layer, is composed of many steps, such as the computing of transactions, the state persistence and the generation of different MPT(Merkle Patricia Trie) roots. Decoupling the functions onto different processes and machines can take advantage of the better computing and storage capacity. Some community members have started [some trials](https://github.com/binance-chain/bsc/pull/640). However, distributing the node also poses great challenges, especially on synchronization between the distributed sub-nodes without losing the blockchain network security, i.e. the full node operators can easily run the suite of processes to keep the network running with the same level of security but much more capacity. A straightforward approach may be to arrange the tasks in a “synchronized, distributed, assembly line” (SDAL), due to the sequential characteristics of the blockchain. Some change may be required on the consensus logic to make this type optimization easier. This is also discussed in other blockchains that break sequencing, execution and storage (settlement) into different components. @@ -65,4 +67,4 @@ How to run transactions in parallel even among different blocks will be very rew ## EVM JIT Compilation Using JIT compilation in EVM was [proposed](https://github.com/ethereum/evmjit) and [discussed](https://ethresear.ch/t/evm-performance/2791) in the early days of Ethereum. When popular dApps dominate the network, such as OpenSea and Uniswap on Ethereum, and PancakeSwap on BSC, and one GameFi dApp had a few million transactions per day, the idea is fascinating that these applications can be compiled into native instructions and able to run faster. This benefits even the compilation is not done “just-in-time” but offline. -However, this is a very challenging feature because it touches the very low level of EVM and can be quite prone to error and security issues. Here is just a placeholder for the talented developers to conquer in the later stage. \ No newline at end of file +However, this is a very challenging feature because it touches the very low level of EVM and can be quite prone to error and security issues. Here is just a placeholder for the talented developers to conquer in the later stage. diff --git a/docs/dev-outlook/sharding-and-multichain.md b/docs/dev-outlook/sharding-and-multichain.md index dca2054..4bd6185 100644 --- a/docs/dev-outlook/sharding-and-multichain.md +++ b/docs/dev-outlook/sharding-and-multichain.md @@ -2,54 +2,68 @@ sidebar_label: Sharding and Multi-chain sidebar_position: 2 --- - -## Sharding and Multi-chain +# Sharding and Multi-chain The BNB community has never believed in the “one-chain-fits-all” theory. As the decentralized computing infrastructure, the blockchain will bear the same principle of diversification among generalization and specialization. Also the blockchain is a computing resource, which is scarce as other resources. No users will expect their favorite games and/or social media applications to contend computing resources from their financial ledger and business transactions, let alone they expect all these applications to charge the same price. The team strongly believe sharding and multiple blockchain are the future for the non-stop increasing demand for decentralized computing power and storage. The cross-shard and cross-chain communication will be the key topic. Here 2 types of sub-chains are discussed below, which are both initial proposals and call for comments. -## BSC Application Sidechain (BAS) -BSC Application SideChain is an infrastructure introduced to help developers and practitioners to build and run their own blockchain as their internal value system for a massive user application, while still maintaining a close connection with BSC. +## BNB Sidechain +BNB Sidechain is an infrastructure introduced to help developers and practitioners to build and run their own blockchain as their internal value system for a massive user application, while still maintaining a close connection with BSC. The “massive user application” here means a sustainable dApp with 1 million daily active users (DAU). dApps with such size are expected to have an obviously endogenous economic and social ecosystem, and can run on a standalone base system. The typical types of such applications that have been seen so far are GameFi and SocialFi. -From technical perspective, BAS is defined as: +From technical perspective, BNB Sidechain is defined as: -1. The sidechain runs as a PoS network, separately and independently from BSC, i.e. all BAS will keep running even if BSC is down. +1. The sidechain runs as a PoS network, separately and independently from BSC, i.e. all BNB Sidechains will keep running even if BSC is down. 2. The sidechain is fueled by its dedicated own application token as gas. 3. The application gas token and its relevant tokens can easily go onramp to / offramp from BSC, without additional trust setup or key management. -4. No BSC tokens, including BNB and BEP20 issued on BSC, should be transferred onto BAS under the same security model as BAS’ own tokens. It is encouraged that all tokens should be traded on BSC for better liquidity and security setup. +4. No BSC tokens, including BNB and BEP20 issued on BSC, should be transferred onto BNB Sidechain under the same security model as BNB Sidechains’ own tokens. It is encouraged that all tokens should be traded on BSC for better liquidity and security setup. 5. Potential shorter blocking time than BSC. -A typical BAS will be a fork of BSC, which still runs an EVM compatible, PoSA based network. It can get all the features BSC has and continuously inherit all the performance enhancements. +A typical BNB Sidechain will be a fork of BSC, which still runs an EVM compatible, PoSA based network. It can get all the features BSC has and continuously inherit all the performance enhancements. -### BAS Infra -In large chance, BAS runs with a smaller validator set than BSC, as the application owners decide. These validators can be run by the application owners or any stakeholders of their community. As the main assets on the BAS are the application-centric, the community and the developers of the application should work well as/with these validators to protect the security of the BAS. BAS will support staking. The staking and validator election logic will be handled by system contracts, which will rebase every N epochs. +### BNB Sidechain Infra +In large chance, BNB Sidechain runs with a smaller validator set than BSC, as the application owners decide. These validators can be run by the application owners or any stakeholders of their community. As the main assets on the BNB Sidechain are the application-centric, the community and the developers of the application should work well as/with these validators to protect the security of the BNB Sidechain. Staking is also supported by BNB Sidechain. The staking and validator election logic will be handled by system contracts, which will rebase every N epochs. Community infrastructure providers can help with the basic setup on: 1. RPC API and archive nodes 2. Simple blockchain explorer solution -### BSC/BAS Cross-chain -One of the most common growth paths of BAS is a big game studio invests its next masterpiece of high potential with the blockchain base; while the other can be a good GameFi dApp got a large amount of users from BSC and wants to expand with larger capacity, cheaper fees and tighter control on the model. The two paths both need a place to dispatch their tokens and trade their assets with the potential users base, and BSC can naturally be the one. So cross-chain asset flow is a must-have requirement. +### BSC/BNB Sidechain Cross-chain +One of the most common growth paths of BNB Sidechain is a big game studio invests its next masterpiece of high potential with the blockchain base; while the other can be a good GameFi dApp got a large amount of users from BSC and wants to expand with larger capacity, cheaper fees and tighter control on the model. The two paths both need a place to dispatch their tokens and trade their assets with the potential users base, and BSC can naturally be the one. So cross-chain asset flow is a must-have requirement. -However, as the security of the BAS is guaranteed by PoS validators elected via the designated way that application owners specify, it may not be the same level as BSC itself. So the cross-chain asset flow should focus on the assets that application owners can/should endorse. +However, as the security of the BNB Sidechain is guaranteed by PoS validators elected via the designated way that application owners specify, it may not be the same level as BSC itself. So the cross-chain asset flow should focus on the assets that application owners can/should endorse. The new asset type for such flow should be defined by new BEPs and deployed by application owners. Let it be BEP120 in this document. The cross-chain communication for BEP120 token transferring will be built-in based on the above and below descriptions: -1. The BEP120 tokens can be created on both BAS and BSC, and binded via cross-chain package.; -2. Smart contracts will work on BAS and BSC to handle the binding between BAS to BSC and also serve as vaults to lock the local assets on BAS in order to mint the corresponding on BSC; -3. BAS validators should run Relayers, which may be built-in to the side chain tool set. The relayers will submit transactions with the cross-chain package and attestations onto BSC and BAS, where smart contracts will handle the cross-chain package after verifying the attestations. Particularly, if BAS is BSC fork, the relayers can use validator consensus key to attest the cross-chain package, while the contract on BSC can verify the attestment and also potential validator set change messages. +1. The BEP120 tokens can be created on both BNB Sidechain and BSC, and binded via cross-chain package.; +2. Smart contracts will work on BNB Sidechain and BSC to handle the binding between BNB Sidechain to BSC and also serve as vaults to lock the local assets on BNB Sidechain in order to mint the corresponding on BSC; +3. BNB Sidechain validators should run Relayers, which may be built-in to the side chain tool set. The relayers will submit transactions with the cross-chain package and attestations onto BSC and BNB Sidechain, where smart contracts will handle the cross-chain package after verifying the attestations. Particularly, if BNB Sidechain is BSC fork, the relayers can use validator consensus key to attest the cross-chain package, while the contract on BSC can verify the attestment and also potential validator set change messages. -If BAS supports EVM, the openness and programmability can enable the applications to create more evolvable capability. While the interaction of the local assets with BSC assets are encouraged to happen on BSC, BSC can help BAS in the below aspects: +If BNB Sidechain supports EVM, the openness and programmability can enable the applications to create more evolvable capability. While the interaction of the local assets with BSC assets are encouraged to happen on BSC, BSC can help BNB Sidechain in the below aspects: 1. Platform to distribute the applications, either through IDO or airdrop to attract users 2. Reuse the existing DeFi lego to centralize token liquidity 3. Channel to connect with other cross-chain bridges and centralized exchanges +## ZkBAS - A Trustless Scaling Solution + +ZkBAS is a trustless and scaling solution for BNB Smart Chain. zkBAS is built on ZK Rollup architecture. ZkBAS bundle (or “roll-up”) hundreds of transactions off-chain and generates cryptographic proof. These proofs can come in the form of SNARKs (succinct non-interactive argument of knowledge) which can prove the validity of every single transaction in the Rollup Block. It means all funds are held on the BSC, while computation and storage are performed on BAS with less cost and fast speed. + +ZkBAS achieves the following goals: + +* No sacrificing on decentralization or security; +* The ZkBAS share the same security as BSC does. Thanks to zkSNARK proofs, the security is guaranteed by cryptographic. Users do not have to trust any third parties or keep monitoring the Rollup blocks in order to prevent fraud. +* Fast transaction speed, faster finality, much lower gas fee. +* BNB, and BEP20/BEP721/BEP1155 created on BSC or zkBAS can flow freely between BSC and zkBAS. +* The gas token on the zkBAS can be either BEP20 or BNB. +* Users can trigger a “full exit” on BSC. The user can request this operation to withdraw funds if he thinks that his transactions are censored by zkBAS. +* Built-in instant AMM swap. +* Built-in NFT marketplace. + ## BSC Partition Chain (BPC) A BPC introduces another sub space with a new validator set, a new computing engine, and a new ledger. Essentially it works as a “shard” or a “layer 2” to off load part of the data, computing and transactions from BSC. @@ -69,7 +83,7 @@ On day 1, there may be only one BPC established, as the pioneer and experiment f BPC’ security will be first guaranteed by the validator set of BPC. The individual unstable or/and malicious validators will be marked and slashed eventually, which follows the same logic as the current BSC. Furthermore, as BPC usually gets staked with less BNB, its security will be guaranteed by another layer of attestation and validation. The goal is to detect the scenarios that majority of the BPC active validators are not trustful and recreate the network with other candidate validators. A proposal is discussed in the later sections. ### BSC/BPC Cross-chain -It is considered that there will be no direct cross-chain communication among multiple BPC, or multiple BAS, or between BPC and BAS. These communications will have to go through BSC. The major reason for this is more from a token economy point of view. It is expected that BSC will be specialized for DeFi related applications and exercise the network effect by concentrating all the liquidity. +It is considered that there will be no direct cross-chain communication among multiple BPC, or multiple BNB Sidechain, or between BPC and BNB Sidechain. These communications will have to go through BSC. The major reason for this is more from a token economy point of view. It is expected that BSC will be specialized for DeFi related applications and exercise the network effect by concentrating all the liquidity. The cross-chain package between BPC and BSC will be wrapped as special transactions, and will focus on token assets, literally BNB, BEP20 tokens and NFTs, instead of any type of state data change. The cross-chain token actions usually have two types. One is “bind”, which will peg the token on the local blockchain to the same token on the other blockchain; the other is “transfer”, which will move the token asset between the two blockchain, literally lock/burn the amount of tokens on the source blockchain and release/mint the same amount of tokens on the target blockchain. @@ -96,4 +110,4 @@ For BPC to BSC bind/transfer: 2. The BC validators should attest a cross-chain package for this transfer, and submit as a transaction onto BSC after the containing block of BPC is finalized. 3. BSC executes the transaction, and the smart contracts verify the attestation and mint/release token out. -BC attesters will share the fees for cross-chain communication. These fees will become part of the income of BC validators, which should be further subject to delegation distribution and also BNB burn on BC. \ No newline at end of file +BC attesters will share the fees for cross-chain communication. These fees will become part of the income of BC validators, which should be further subject to delegation distribution and also BNB burn on BC. diff --git a/docs/dev-tools.md b/docs/dev-tools.md index aecd2d5..2ced477 100644 --- a/docs/dev-tools.md +++ b/docs/dev-tools.md @@ -1,4 +1,4 @@ -# Development Tools used on BSC +# Development Tools on BSC # Smart Contracts diff --git a/docs/encoding.md b/docs/encoding.md index b03d1dc..4efd2e4 100644 --- a/docs/encoding.md +++ b/docs/encoding.md @@ -9,7 +9,7 @@ BNB Beacon Chain transactions are protocol-based data types and can only be subm The fundamental encoding logic is from [Tendermint Amino](https://github.com/tendermint/go-amino), which derives from and is "largely compatible with" Google protocol-buffer's Proto3. -However the client sides only needs to stick to the specifications outlined below for the most frequently used transactions. +However, the client sides only needs to stick to the specifications outlined below for the most frequently used transactions. ## Encoding Output diff --git a/docs/faq.md b/docs/faq.md index 2412000..7df7669 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -4,20 +4,43 @@ hide_table_of_contents: false sidebar_position: 2 --- -# BNB Extension Wallet FAQs +# Binance Extension Wallet FAQs -## How to stay safe +## How can I download Binance Extension Wallet (BEW)? +**Chrome App Store Link**: + +**Firefox App Store Link**: + +Install Binance Extension Wallet +:::info + This is an example to install BNB Chain Extension Waller on Firefox browser. However, workflow is same for all browsers. +::: + +1. Open Extension in Firefox: https://addons.mozilla.org/en-US/firefox/addon/binance-chain/?src=search + +2. Search for BNB Chain +![img](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/67023396148/original/T7AmJnBZ33pyv-1vmUZvZQvfpdPcvq5_NQ.png?1633501819) +:::warn + Make sure it’s offered by BNB Chain +::: + +3. Click on “Add to Firefox” +![img](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/67023396147/original/bvX8Y5NViWZJcFgaBt76ipaB1F8V87TgIw.png?1633501818) + +That’s it! You have successfully installed the Binance Chain Wallet extension in Firefox! + +**Binance Wallet Mobile**: Binance Mobile is a secure and trusted multi-chain wallet. It is your one-stop gateway to store, exchange and earn crypto. + +## How to stay safe Wallets are a bit of a shift in thinking. Financial freedom and the ability to access and use funds anywhere comes with a bit of responsibility – there’s no customer support in crypto. ## Take responsibility for your own funds - Centralized exchanges will link your wallet to a username and password that you can recover in a traditional way. Just remember you’re trusting that exchange with custody over your funds. If that company is attacked or folds, your funds are at risk. ## Write down your seed phrase - Wallets will often give you a seed phrase that you must write down somewhere safe. This is the only way you’ll be able to recover your wallet. Here's an example: @@ -35,7 +58,6 @@ Remember transactions can’t be reversed and wallets can’t be easily recovere ## Tokens not visible after withdrawing from Binance - Many users who interact with a centralized exchange like Binance eventually want to withdraw to a wallet that they fully control, like MetaMask. So once you've used their withdraw form, what could be scarier than not seeing your tokens? First, you'll need to use the MetaMask add Custom Network feature to add the Beacon Chain or BNB Smart Chain's RPC URLs endpoints to your MetaMask. @@ -64,6 +86,32 @@ curl --location --request POST 'https://bsc-dataseed2.binance.org' \ ## How to Reveal Your Seed Phrase When dealing with cryptocurrencies or crypto assets like BNB or BUSD, it is important to always be aware of and have your private keys, seed phrases and passwords backed up in case the unexpected occurs. +## What do i do if i lost/forgot my Seed Phrase? + +1. Seed phrase is only made known to user directly. In the event that is lost, there is no way of recovering it. + + - We do advice to user to safeguard their seed phrase and do not share with anyone. + + - If you login from public/shared computer or laptop, please make sure to "Lock" the wallet before walking off. + +2. There are multiple login options made available to user : do leverage these options as well. + + a. Safulet + + b. tKey + +3. Recovering of seed phrase is possible only if you are able to login to your account. + + - Login to your account. + + - Access account details on the top right corner. + + - Click on "Settings". + + - View "Seed Phrase". + +Important Note: Keeping your seed phrases safe is of paramount importance. If they are stolen or lost, your assets cannot be recovered. + ## Backing Up When Installing When you create a new Binance Extension Wallet account, you are given your 12 word seed phrase is the most important bit of information for you to record and keep safe when managing your extension account. @@ -105,3 +153,119 @@ When resetting your password for your Binance Extension wallet, you will need yo 6. Click **Reset** ![img](https://lh6.googleusercontent.com/ZeM4cYV3rirCo91zw3OVMYRqqpwqIsrWhPnv-t3sL7YhpD0M_DNQ4QQH-Rw8WmapLrX2OzwETLKcEwKA-Rakjuhlnoy7S707Yt8Y0nUC5OKjg04ADgM2bLSb-1f3GZvUxdkj-BuI) + +## Which network does BEW support? + * Binance Chain(BEP2) + * Binance Smart Chain(BEP20) + * Ethereum(ERC20) + +## Why my Tokens are not visible? +!!! Note : By default each wallet/network will shows the the main token they support. You will need to add additional token to your list. + +**For Binance Extension Wallet users** +You'll need to switch to Beacon Chain Mainnet (BC) mainnet or BNB Smart Chain (BSC) mainnet + +Once you've added the asset to your wallet, you will be able to select different networks to view the assets held by your selected account on that network. + +**For Metamask wallet users** + +You'll need to add BNB Smart Chain (BSC) mainnet network https://academy.binance.com/en/articles/connecting-metamask-to-binance-smart-chain + +Then add tokens manually: https://docs.yearn.finance/how-to-guides/how-to-add-a-custom-token-to-metamask + +## How much BNB you need for sending tokens? + +A standard Ether transfer TX will be 21000 gas & a gas price of 5 GWEI. With tokens, the amount of gas is typically gas, so the total TX fee increases to 0.0005 BNB - 0.0007 BNB. + + +if you try to send tokens without having any BNB in your account you will be told you have insufficient funds. This means you do not have enough BNB in your account to cover the cost of gas. Each transaction (including token and contract transactions) require gas and that gas is paid in BNB. You can think of this like a transaction fee. + +You can remedy this by sending 0.001 BNB to that account in order to be able to make the transaction. + +## How to Recover Crypto Transferred to the Wrong Network on Binance? + +Please read this article: https://academy.binance.com/en/articles/how-to-recover-crypto-transferred-to-the-wrong-network-on-binance + +## Extension Wallet Update : Chrome +It is crucial that you always have the latest wallet version installed. If you know that a new version of an extension is out but Chrome hasn’t updated it, here’s how to do it manually. + +1. Start Google Chrome. + +2. Click the vertical ellipsis icon ![img](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/67023397042/original/wFxPkU0MkBsPoaTd8oZr3ffcpAoX6i4_4g.png?1633502662) on the browser toolbar. + +3. Select More Tools -> Extensions. + +4. Click the Developer Mode button on the right side of the header + +5. From there, you should see the “Update” button pop right up. + +![img](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/67023397043/original/jZ4fzIgSe5JbszoWQQ3NDi19ZJRV0vpGXw.jpeg?1633502665) + +## Extension Wallet Update : Firefox + +It is crucial that you have the latest version installed. + +1. Click the menu button ![img](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/67023397186/original/u6iq0Le_iTgiAVUsvbTJexNZKNgrxlGTug.png?1633502819), click Add-ons and Themes and select Extensions. + +2. Click the gear icon ![img](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/67023397187/original/I9CD5HUT4HYb8kRfjx9g3mSuq0yrRJdgZA.png?1633502819) in the upper-right area of the Extensions panel. + +![img](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/67023397188/original/JTMKK6DuYM0yDYW_m9RcHsEfCtaOVZj-Sg.png?1633502820) + +3. Choose one of the options below: + + * **Check for Updates**: Allows you to check for any updates to your add-ons manually. If there is an update available, you have the option to choose to update it now or later. + * **View Recent Updates**: When you click this option, a Recent Updates panel appears on the left, showing your last updated add-ons. + * **Update Add-ons Automatically**: If you want to keep your add-ons up to date, select this option to let them update automatically. + * **Reset All Add-ons to Update Automatically**: If any add-ons have been set to update manually, clicking this option will reset all add-ons to update automatically. + +## Why are Tokens not visible after withdrawing from Binance? +Many users who interact with a centralized exchange like Binance eventually want to withdraw to a wallet that they fully control, like Binance Extension wallet or MetaMask. So once you've used their withdrawal form, what could be scarier than not seeing your tokens? + +First, you'll need to use Binance Chain Mainnet (BC) mainnet or Binance Smart Chain (BSC) mainnet + +Once you've added the asset to your wallet, you will be able to select different networks to view the assets held by your selected account on that network. + +## Can I use Extension wallet for Binance DEX +No, you cannot now. The support will be added in future release. + +## How to Recover funds send to Ethereum network +If the fund is sent to one of your existing accounts, please + +* Switch to Ethereum network +* Add your asset +* Then you should see your tokens in asset list. + +If it's sent to accounts in a different wallet, please + +* Export seed phrase of this account +* Recover your account in Binance Extension Wallet +* Switch to Ethereum network +* Add your asset +* Then you should see your tokens in asset list. + +## Why should I use Wallet Direct? +* **Seamless Token Transfer**: Transfer tokens (which support Beacon Chain, BNB Smart Chain and Ethereum) between paired Binance.com account and Binance Extension Wallet. Without the trouble of copy/paste address and memo every time + +* **BNB Holding**: The BNB positions of your Binance.com account will not change. + +## Common issues with Ledger Account + +1. Wallet direct does not support Ledger account at the moment. + +2. Binance DEX still supports Ledger. However, it is recommended to use BEW if you encounter issues when using Ledger. + +- Install our BEW extension on your browser and login with your BEW wallet account. + +- Import ledger to your BEW account. + +- Use BEW for your transactions. + +3. Alternatively, you can also reach out to Ledger for support via https://support.ledger.com/hc/en-us/categories/4404369571601-Support?support=true . + +## How can dApp connect with BEW? + +Please read this doc: https://binance-wallet.gitbook.io/binance-chain-wallet/bew-guides/dapp-interaction + +## How to get support about technical issue on full node? + +Join our node support discord channel : https://discord.com/channels/789402563035660308/912296664004452362 \ No newline at end of file diff --git a/docs/fullnodeissue.md b/docs/fullnodeissue.md index 609bda5..1ceb61b 100644 --- a/docs/fullnodeissue.md +++ b/docs/fullnodeissue.md @@ -1,6 +1,6 @@ # Common Issues When Running a Full Node -### How to monitor your full node syncing process? +### How to Monitor Your Full Node Syncing Process? * You can check the current height of full node by visiting `localhost:26657/status` * You can check the log info in your log under your $BNCHOME.
@@ -57,7 +57,7 @@ Dialing failed module=pex addr=2c1fa9c1698961da38d8cd50da9fe8b4bc433c50@34.202.2 Check your internet connection and make sure it is stable. -#### Out of memory +#### Out of Memory * Error Log ``` @@ -68,7 +68,7 @@ fatal error: out of memory Your machine must have more than `8 GB of memory`, otherwise, it will not handle DB restoration during state sync. -#### No priv_validator_state.json after reset +#### No priv_validator_state.json After Reset * Error log ``` @@ -78,7 +78,7 @@ open /Users/.bnbchaind/data/priv_validator_state.json: no such file or directory Delete both `priv_validator_state.json` & `node_key.json` file and `data` folder if you want to reset your full node. -#### `bnbchaind` crashes because of `too many open files` +#### `bnbchaind` Crashes Because of `too many open files` The default number of files Linux can open (per-process) is `1024`.
`bnbchaind` is likely to open more than `1024` files.
@@ -112,22 +112,22 @@ file locks (-x) unlimited Please note that open files are different now. -#### Forget to Upgrade +#### Forgot to Upgrade The Beacon Chain has a hardfork upgrade and if you failed to upgrade your fullnode to the latest version, `bnbchaind` process will stop and even if you restart with the latest version, the following error will appear: ``` panic: Tendermint state.AppHash does not match AppHash after replay. Got , expected 393887B67F69B19CAB5C48FB87B4966018ABA893FB3FFD241C0A94D2C8668DD2 goroutine 1 [running]: -github.com/binance-chain/node/vendor/github.com/tendermint/tendermint/consensus.checkAppHash(0xa, 0x0, 0xc000bd8c56, 0x6, 0xc000b247c0, 0x12, 0x14e7bf9, 0x8592eb, 0xc000b247e0, 0x20, ...) -/Users/huangsuyu/go/src/github.com/binance-chain/node/vendor/github.com/tendermint/tendermint/consensus/replay.go:464 +0x213 -github.com/binance-chain/node/vendor/github.com/tendermint/tendermint/consensus.(*Handshaker).ReplayBlocks(0xc000b37980, 0xa, 0x0, 0xc000bd8c56, 0x6, 0xc000b247c0, 0x12, 0x14e7bf9, 0x8592eb, 0xc000b247e0, ...) +github.com/bnb-chain/node/vendor/github.com/tendermint/tendermint/consensus.checkAppHash(0xa, 0x0, 0xc000bd8c56, 0x6, 0xc000b247c0, 0x12, 0x14e7bf9, 0x8592eb, 0xc000b247e0, 0x20, ...) +/Users/huangsuyu/go/src/github.com/bnb-chain/node/vendor/github.com/tendermint/tendermint/consensus/replay.go:464 +0x213 +github.com/bnb-chain/node/vendor/github.com/tendermint/tendermint/consensus.(*Handshaker).ReplayBlocks(0xc000b37980, 0xa, 0x0, 0xc000bd8c56, 0x6, 0xc000b247c0, 0x12, 0x14e7bf9, 0x8592eb, 0xc000b247e0, ...) ``` To recover from the `state` conflict error, you need to: * Backup your home directory, (default is ~/.bnbchaind) -* Download the tool: [state-recover](https://github.com/binance-chain/node-binary/tree/master/tools/recover) +* Download the tool: [state-recover](https://github.com/bnb-chain/node-binary/tree/master/tools/recover) * Get the height of upgrade, this height will be announced in the upgrade announcement on the forum. For example, if it's announced as 5000 in the forum and run the following command will make your full node recover to the last block before the upgrade, and that is 4999 : ``` @@ -140,7 +140,7 @@ To recover from the `state` conflict error, you need to: bnbchaind start & ``` -#### `bnbchaind` is not properly killed +#### `bnbchaind` is Not Properly Killed If you started your `bnbchaind` process after it was not properly killed. You will see the following error: ``` @@ -154,16 +154,16 @@ To recover, please reset your node and restart: bnbchaind unsafe-reset-all --home ``` -#### Cannot start `bnbchaind` +#### Cannot Start `bnbchaind` If you do not download the binaries completely, you will see the following message: ``` ./bnbchaind: line 1: version: command not found ./bnbchaind: line 2: oid: command not found /Library/Developer/CommandLineTools/usr/bin/size: 45160816 No such file or directory ``` -Since all the binaries are stored in `git lfs`, you will see this error is the binary is not complete. Please use this [script](https://github.com/binance-chain/node-binary/blob/master/install.sh) to download the binaries or use `git lfs clone`. +Since all the binaries are stored in `git lfs`, you will see this error is the binary is not complete. Please use this [script](https://github.com/bnb-chain/node-binary/blob/master/install.sh) to download the binaries or use `git lfs clone`. -#### Cannot query a specific block +#### Cannot Query a Specific Block Once you have your own node running, you can start querying from it. But sometimes you may not be ablt to get the information you want. For example: ``` diff --git a/docs/get-extra-data-from-fullnode.md b/docs/get-extra-data-from-fullnode.md index de61678..241600a 100644 --- a/docs/get-extra-data-from-fullnode.md +++ b/docs/get-extra-data-from-fullnode.md @@ -27,7 +27,7 @@ Then, the full node will save all the trades that have been filled, orders that * Example: -All those [extra info](https://docs.binance.org/get-extra-data-from-fullnode.html#publish-different-messages-to-local-files ) can also be found in exported data from your fullnode. +All those [extra info](https://docs.bnbchain.org/docs/beaconchain/develop/node/extra-info/#publish-different-messages-to-local-files) can also be found in exported data from your fullnode. ### Changes In `trade` data structure, there are five new fields: `SSrc`,`BSrc`,`SSingleFee`, `BSingleFee` and `TickerType`. diff --git a/docs/getting-started.md b/docs/getting-started.md index f4f0738..0dcb88f 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -1,6 +1,5 @@ --- sidebar_label: Getting Started -hide_table_of_contents: false --- # Getting Started @@ -28,16 +27,16 @@ network for the assets **For traders**, you can: - [Propose to create trading pairs](beaconchain/list_instruction.md) between two different tokens -- [Send orders](beaconchain/learn/trading-interface.md) to buy or sell assets through trading pairs created on the chain with[SDK](beaconchain/exchange-integration.md#sdks) +- [Send orders](beaconchain/learn/trading-interface.md) to buy or sell assets through trading pairs created on the chain with [SDK](beaconchain/exchange-integration.md#sdks) - [Watch the DEX market](beaconchain/develop/api-reference/dex-api/paths.md#apiv1markets) to confirm price and market activity of certain assets **For developers**, you can also: -- Explore the transaction history and blocks on the chain, via [Binance Chain Explore](https://explorer.binance.org), [API](beaconchain/develop/api-reference/dex-api/paths.md) +- Explore the transaction history and blocks on the chain, via [BNB Chain Explorer](https://explorer.bnbchain.org/), [API](beaconchain/develop/api-reference/dex-api/paths.md) and [node RPC](beaconchain/develop/api-reference/node-rpc.md) interfaces. - Run a [full node](beaconchain/fullnode.md) to listen to and broadcast live updates on transactions, blocks, and consensus activities - Extract other data of Binance Chain via full node or [APIs](beaconchain/develop/api-reference/dex-api/paths.md#apiv1markets) -- [Develop tools](Integrate.md#sdks) and application to help users use Binance Chain and Binance DEX +- [Develop tools](Integrate.md#sdks) and applications to help users use Binance Chain and Binance DEX ### What can you do with BNB Smart Chain (BSC)? @@ -50,16 +49,27 @@ You can: - Send and receive [BNB](wallet/binance.html#transfer-testnet-bnb-from-bsc-to-bc) and other [BEP2 tokens](wallet/binance.html#swap-testnet-bep2-token-to-its-bep20-equivalent) cross-chain - Explore the transaction history and blocks on the chain, via [bscscan](https://bscscan.com), API and node RPC interfaces. -- [Stake you BNB](wallet/staking.md) to earn some block rewards +- [Stake your BNB](wallet/staking.md) to earn some block rewards **Developers** can also: - [Issue](issue-BEP20.md) new tokens to digitalize assets -- [Migrate](https://github.com/binance-chain/bsc-develop-ecosystem) existing DApps +- [Migrate](https://github.com/bnb-chain/bsc-develop-ecosystem) existing DApps - Run a [full node](validator/fullnode.md) to listen to and broadcast live updates on transactions, blocks, and consensus activities -- Become a validator of BSC - [testnet](/validator/guideline-testnet.md) and [mainnet]](/validator/guideline-mainnet.md) +- Become a validator of BSC - [testnet](validator/guideline-testnet.md) and [mainnet](validator/guideline-mainnet.md) - [Develop wallets](wallet/wallet_api.md) and tools to help users use Dapps +## Wallet +The easiest way to use BNB Beacon and BNB Smart Chain is through a wallet with support for accounts and transfers on these chains. + +BNB Chain provides a Web Wallet at [https://www.bnbchain.org/en](https://www.bnbchain.org/en). BNB Chain also provides Web Wallet for testnet at [https://testnet.binance.org](https://testnet.binance.org). Both provide the functions described below: + +- Generating crypto keys and addresses, which serves as the base of a wallet +- Showing the balances of assets on the addresses +- Sending and receiving assets + +Binance Extension Wallet also presents a trading UI, where you can examine market data and manage your orders to trade among the listed assets. BNB Smart Chain supports several popular wallets like [MetaMask](wallet/metamask.md) and [TrustWallet](wallet/trustwallet.md), to learn more about the supported wallets refer [here](Wallet.md). For a list of tutorials on how to use other supported wallets with BNB Smart Chain, refer [here](wallets/wallet-tutorial-overview.md). + ## BNB Token and Fees BNB is the cryptocurrency coin that powers the BNB Chain ecosystem. As one of the world's most popular utility tokens, not only can you trade BNB like any other cryptocurrency, you can also use BNB in a wide range of applications and use cases. @@ -73,28 +83,17 @@ In 2020, the BNB Smart Chain (BSC) was launched. BSC is a blockchain network tha ## How to Buy BNB Tokens As all fees on BNB Chain are paid in BNB, therefore, in order to interact with the BNB Chain network you will need to have some BNB tokens. - BNB tokens can also be received for usage on testnet through the [testnet faucet](https://testnet.binance.org/faucet-smart). -- The BNB tokens for usage on mainnet are available for purchase on multiple leading exchanges and wallets as explained [here](#wallet). You can also refer [here][wallets/wallet-tutorial-overview] for tutorials on ho to use different wallets for use with BNB Chain to send/receive/purchase BNB Tokens. - -## Wallet -The easiest way to use BNB Beacon and BNB Smart Chain is through a wallet with support for accounts and transfers on these chains. - -BNB Chain provides a Web Wallet at [https://www.bnbchain.world/en](https://www.bnbchain.world/en). BNB Chain also provides Web Wallet for testnet at [https://testnet.binance.org](https://testnet.binance.org). Both provide the functions described below: - -- Generating crypto keys and addresses, which serves as the base of a wallet -- Showing the balances of assets on the addresses -- Sending and receiving assets - -Binance Web Wallet also presents a trading UI, where you can examine market data and manage your orders to trade among the listed assets. Learn about the list of wallets available [here](Wallet.md). +- The BNB tokens for usage on mainnet are available for purchase on multiple leading exchanges and wallets as explained [here](#wallet). You can also refer [here](wallets/wallet-tutorial-overview) for tutorials on how to use different wallets for use with BNB Chain to send/receive/purchase BNB Tokens. ## Chain Explorer -Chain Explorer provides a portal to explore blocks and transaction details. On [Beacon Chain Explorer](https://explorer.binance.org/) and [BNB Smart Chain Explorer](https://bscscan.com/), you can also check different asset types, the distribution of their ownerships, and owners' transactions. +Chain Explorer provides a portal to explore blocks and transaction details. On [BNB Chain Explorer](https://explorer.bnbchain.org/) and [BscScan](https://bscscan.com/), you can also check different asset types, the distribution of their ownerships, and owners' transactions. ## REST API -There are [Accelerated Nodes](beaconchain/develop/node/nodetypes.md) which provide advanced API services for the public. Here is a list of all the Rest API information Accelerated Node provides: [paths](api-reference/dex-api/paths.md). For information regarding RPC Endpoints for BSC, refer [here](rpc.md). +There are [Accelerated Nodes](beaconchain/develop/node/nodetypes.md) which provide advanced API services for the public. Here is a list of all the Rest API information Accelerated Node provides: [paths](beaconchain/develop/api-reference/dex-api/paths). For information regarding RPC Endpoints for BSC, refer [here](rpc.md). ### Node RPC There are data seed nodes in the network which allow users to perform low-level operations like executing ABCI queries, viewing network/consensus state or broadcasting a transaction. -If you run a full node by yourself, you can also use those RPC functions. Here is a list of all the Node RPC services it provides: for Beacon Chain refer [here](api-reference/node-rpc.md) and for BNB Smart Chain refer [here](rpc.md). +If you run a full node by yourself, you can also use those RPC functions. Here is a list of all the Node RPC services it provides: for Beacon Chain refer [here](beaconchain/develop/api-reference/node-rpc.md) and for BNB Smart Chain refer [here](rpc.md). ## Advanced Ways To Use BNB Chain ### Run your own full node @@ -107,13 +106,13 @@ Please refer to this guide about [how to run your own light client on Beacon Cha ### Access via Node Command Line Interface (CLI) -A Command Line Interface is available for Linux and Mac platforms. Please refer to the [CLI Reference](api-reference/cli.md). +A Command Line Interface is available for Linux and Mac platforms. Please refer to the [CLI Reference](beaconchain/develop/api-reference/cli). ### Use SDKs SDKs are also provided as a starting point for your apps. -There are two advanced SDK solutions for Beacon chain: [Java]() and [Golang](). +There are two advanced SDK solutions for Beacon chain: [Java]() and [Golang](). Both solutions provide functions for: @@ -123,14 +122,14 @@ Both solutions provide functions for: Please refer to specific SDK documentation for more information: -- [Go](https://github.com/binance-chain/go-sdk)([Documentation](https://github.com/binance-chain/go-sdk/wiki)) -- [Java](https://github.com/binance-chain/java-sdk)([Documentation](https://github.com/binance-chain/java-sdk/wiki)) -- [Javascript](https://github.com/binance-chain/javascript-sdk) ([Documentation](https://github.com/binance-chain/javascript-sdk/wiki)) -- [C++](https://github.com/binance-chain/cplusplus-sdk)([Documentation](https://github.com/binance-chain/cplusplus-sdk/wiki)) -- [C#](https://github.com/binance-chain/csharp-sdk)([Documentation](https://github.com/binance-chain/csharp-sdk)) -- [Python](https://github.com/binance-chain/python-sdk)([Documentation](https://python-binance-chain.readthedocs.io/en/latest/binance-chain.html#module-binance_chain)) -- [Swift](https://github.com/binance-chain/swift-sdk)([Documentation](https://github.com/binance-chain/swift-sdk/blob/master/README.md)) +- [Go](https://github.com/bnb-chain/go-sdk)([Documentation](https://github.com/bnb-chain/go-sdk/wiki)) +- [Java](https://github.com/bnb-chain/java-sdk)([Documentation](https://github.com/bnb-chain/java-sdk/wiki)) +- [Javascript](https://github.com/bnb-chain/javascript-sdk) ([Documentation](https://github.com/bnb-chain/javascript-sdk/wiki)) +- [C++](https://github.com/bnb-chain/cplusplus-sdk)([Documentation](https://github.com/bnb-chain/cplusplus-sdk/wiki)) +- [C#](https://github.com/bnb-chain/csharp-sdk)([Documentation](https://github.com/bnb-chain/csharp-sdk)) +- [Python](https://github.com/bnb-chain/python-sdk)([Documentation](https://python-bnb-chain.readthedocs.io/en/latest/bnb-chain.html#module-binance_chain)) +- [Swift](https://github.com/bnb-chain/swift-sdk)([Documentation](https://github.com/bnb-chain/swift-sdk/blob/master/README.md)) ## Blockchain Details -Please check the [technical details](beaconchain/index.md#technology-details) for more technical information. +Please check the [technical details](learn/beaconIntro.md#technology-details) for more technical information. diff --git a/docs/hardhat.md b/docs/hardhat.md index c34bee9..b71a83d 100644 --- a/docs/hardhat.md +++ b/docs/hardhat.md @@ -143,7 +143,8 @@ module.exports = { ``` !!! Note - It requires mnemonic to be passed in for Provider, this is the seed phrase for the account you'd like to deploy from. Create a new `.secret` file in root directory and enter your 12 word mnemonic seed phrase to get started. To get the seedwords from metamask wallet you can go to Metamask Settings, then from the menu choose Security and Privacy where you will see a button that says reveal seed words. + It requires mnemonic to be passed in for Provider, this is the seed phrase for the account you'd like to deploy from. Create a new `.secret` file in root directory and enter your 12 word mnemonic seed phrase to get started. To get the seedwords from MetaMask wallet you can go to Metamask Settings, then from the menu choose Security and Privacy where you will see a button that says reveal seed words. + ### Compile Contract To compile a Hardhat project, change to the root of the directory where the project is located and then type the following into a terminal: diff --git a/docs/issue-BEP20.md b/docs/issue-BEP20.md index 386bc55..fbd981b 100644 --- a/docs/issue-BEP20.md +++ b/docs/issue-BEP20.md @@ -3,7 +3,9 @@ sidebar_label: Issue BEP20 Tokens sidebar_position: 2 --- -**Compile and Deploy BEP20 Contract** +# Issue BEP20 Tokens + +## **Compile and Deploy BEP20 Contract** 1. Open Remix IDE: [https://remix.ethereum.org](https://remix.ethereum.org/) @@ -22,28 +24,28 @@ sidebar_position: 2 5. Compile the BEP20 token contract -a. Step1: Click button to switch to compile page + a. Step1: Click button to switch to compile page -b. Step2: Select “BEP20Token” contract + b. Step2: Select “BEP20Token” contract -c. Step3: Enable “Auto compile” and “optimization” + c. Step3: Enable “Auto compile” and “optimization” -d. Step4: Click “ABI” to copy the contract abi and save it. + d. Step4: Click “ABI” to copy the contract abi and save it. ![img](https://lh6.googleusercontent.com/qY_5g3ZMnJca6n84W2JxIoBvd8iHRQ0qkOQuJ60pRIcKvgZB5-bXcGq6gS7dFwA5rYXbiS2NyaUQ1Qptcagqa0pb7kmq_S-Dh8drA4R-hDg9_NVp1zPl-tmqIDanlcgLibaR3CV7) 6. Deploy the contract to BSC -a. Step1: Click button to switch to compile button. + a. Step1: Click button to switch to compile button. -b. Step2: Select “Injected Web3” + b. Step2: Select “Injected Web3” -c. Step3: Select “BEP20Token” + c. Step3: Select “BEP20Token” -d. Step4: Client “Deploy” button and Metamask will pop up + d. Step4: Client “Deploy” button and Metamask will pop up ![img](https://lh5.googleusercontent.com/lsWXpUN12iRTzMSJZpb8HFBL2ycH7JVPlrMqlK7aLOl4zLanqlp-3UHbranHk__tugeqWfnjg1k_2_0VnZlzJkJucJw3R-JDoxP84rAPWOJc1Oi5dgJZA3wRzyjwxKiy_6BdcBMb) -e. Client “confirm” button to sign and broadcast transaction to BSC. + e. Client “confirm” button to sign and broadcast transaction to BSC. -![img](https://lh4.googleusercontent.com/9awuDudNSuUOZDQAlW5FPZ5SbRkWsKPlJSYWGUL7R4raJ5o2mprRP7jt87hP_wbuYeoJy75ErwDcKVC7_spf8YkumCkwOP4Eak9SfcV6dZvyVhy84JqKfVUvmEeLw5mWEZ3-aCED) \ No newline at end of file +![img](https://lh4.googleusercontent.com/9awuDudNSuUOZDQAlW5FPZ5SbRkWsKPlJSYWGUL7R4raJ5o2mprRP7jt87hP_wbuYeoJy75ErwDcKVC7_spf8YkumCkwOP4Eak9SfcV6dZvyVhy84JqKfVUvmEeLw5mWEZ3-aCED) diff --git a/docs/learn/beaconIntro.md b/docs/learn/beaconIntro.md index e7f6c4b..9a9706b 100644 --- a/docs/learn/beaconIntro.md +++ b/docs/learn/beaconIntro.md @@ -31,6 +31,16 @@ Beacon Chain also implements new features, such as - Threshold Signatures (an alternative to multisig) - Smart Contracts sidechain (in-progress) +## Technology Details +Continue reading below if you are interested in what is happening under the hood! + +- [Beacon Chain as a Block Chain](../beaconchain/blockchain.md): about consensus, software stack, network layout and roles. +- [Connect to Beacon Chain ](../beaconchain/chain-access.md): how to connect to Beacon Chain and DEX via different ways. +- [Run a Beacon Chain full node](../beaconchain/fullnode.md): how to run a full node and become part of the p2p network of Beacon Chain . +- [Run a Beacon Chain light client](../beaconchain/light-client.md): how to run a light client. +- [Beacon Chain Governance](../beaconchain/governance.md): about proposal, vote, and join as a validator. + + ## Participate There are different ways to participate in the network, from light nodes to full validators. Beacon Chain follows a philosophy of progressive decentralization. We envision a future where organizations and individuals can run validator nodes, and BNB can be staked to join governance. \ No newline at end of file diff --git a/docs/learn/bsc-gov.md b/docs/learn/bsc-gov.md index 88290b2..bee57e7 100644 --- a/docs/learn/bsc-gov.md +++ b/docs/learn/bsc-gov.md @@ -73,16 +73,14 @@ function updateParam(string key, bytes calldata value) external onlyGov{ ## Gov Contract Implement the cross chain contract interface: **handlePackage(bytes calldata msgBytes, bytes calldata proof, uint64 height, uint64 packageSequence)** -And do following step: +And do the following steps: - Basic check. Sequence check, Relayer sender check, block header sync check, merkel proof check. -- Check the msg type according to the first byte of msgBytes, only param change msg type supported for now. Check and parse the msg bytes. +- Check the msg type according to the first byte of msgBytes, only param change msg type is supported for now. Check and parse the msg bytes. - Use a fixed gas to invoke the updateParam interface of target contract. Catch any exception and emit fail event if necessary, but let the process go on. - Claim reward for the relayer and increase sequence. -## Workflow - - +## Parameters that control the behavior of BSC There are many system parameters to control the behavior of the BSC: @@ -90,7 +88,7 @@ And do following step: - params of Staking/Slash/Oracle/IBC modules on BC -All these parameters will be determined by BSC Validator Set together through a proposal-vote process based on their staking. Such process will be carried on BC, and the new parameter values will be picked up by corresponding system contracts via cross-chain communication when needed. +All these parameters will be determined by BSC Validator Set together through a proposal-vote process based on their staking. Such processes will be carried on BC, and the new parameter values will be picked up by corresponding system contracts via cross-chain communication when needed. ## Fee Table diff --git a/docs/learn/bsc-relayer.md b/docs/learn/bsc-relayer.md index edbc87d..4c0d53c 100644 --- a/docs/learn/bsc-relayer.md +++ b/docs/learn/bsc-relayer.md @@ -1,11 +1,11 @@ # BSC Relayer -Relayers are responsible to submit Cross-Chain Communication Packages between the two blockchains. Due to the heterogeneous parallel chain structure, two different types of Relayers are created. +Relayers are responsible for submitting Cross-Chain Communication Packages between the two blockchains. Due to the heterogeneous parallel chain structure, two different types of Relayers are created. Relayers for BC-to-BSC communication referred to as **BSC Relayers** are a standalone process that can be run by anyone, and anywhere, except that Relayers must register themselves onto BSC and deposit a certain amount of BNB. Only relaying requests from the registered Relayers will be accepted by BSC. -GitHub Implementation link: +GitHub Implementation link: -Config Files: +Config Files: ## Monitor and Parse Cross Chain Event As a BSC relayer, it must have proper configurations on the following three items: diff --git a/docs/learn/consensus.md b/docs/learn/consensus.md index 7faa159..3c75e46 100644 --- a/docs/learn/consensus.md +++ b/docs/learn/consensus.md @@ -9,24 +9,24 @@ hide_table_of_contents: false ## Abstract We target to design the consensus engine of BSC(BNB Smart Chain) to achieve the following goals: -1. Wait a few blocks to confirm(should be less than Ethereum 1.0), better no fork in most cases. +1. Wait for a few blocks to confirm (should be less than Ethereum 1.0), better no fork in most cases. 2. Blocking time should be shorter than Ethereum 1.0, i.e. 5 seconds or less. 3. No inflation, the block reward is transaction gas fees. 4. As much as compatible as Ethereum. 5. With staking and governance as powerful as cosmos. -[Geth](https://github.com/ethereum/go-ethereum/wiki/geth) implements two kinds of consensus engine: ethash(based on PoW) and [clique](https://ethereum-magicians.org/t/eip-225-clique-proof-of-authority-consensus-protocol/1853)(base on PoA). Ethash is not a fit option for BSC because BSC gives up PoW. Clique has smaller blocking time and is invulnerable to 51% attack while doing as little to the core data structure as possible to preserve existing Ethereum client compatibility. The shortcoming of PoA is centralization, and the lack of meaningful staking and governance capability on-chain. On the other hand, the Beacon Chain is built on Cosmos which does have a deployed staking and governance mechanism. Thus here we try to propose a consensus engine that: +[Geth](https://github.com/ethereum/go-ethereum/wiki/geth) implements two kinds of consensus engines: ethash(based on PoW) and [clique](https://ethereum-magicians.org/t/eip-225-clique-proof-of-authority-consensus-protocol/1853)(based on PoA). Ethash is not a fit option for BSC because BSC gives up PoW. Clique has a shorter blocking time and is invulnerable to 51% attack while doing as little to the core data structure as possible to preserve existing Ethereum client compatibility. The shortcoming of PoA is centralization, and the lack of meaningful staking and governance capability on-chain. On the other hand, the Beacon Chain is built on Cosmos which does have a deployed staking and governance mechanism. Thus here we try to propose a consensus engine that: * Beacon Chain does the staking and governance parts for BSC. * ValidatorSet change, double sign slash of BSC is updated through interchain communication. * Consensus engine of BSC keeps as simple as clique. -We investigated some popular implementations of PoA consensus and find out that [Bor](https://blog.matic.network/heimdall-and-bor-matic-validator-and-block-production-layers/) follows a similar design as above. We will borrow a few parts from Bor and propose a new consensus engine to achieve all these goals. +We investigated some popular implementations of PoA consensus and found out that [Bor](https://blog.matic.network/heimdall-and-bor-matic-validator-and-block-production-layers/) follows a similar design as above. We will borrow a few parts from Bor and propose a new consensus engine to achieve all these goals. ## Infrastructure Components -1. **Beacon Chain**. It is responsible for holding the staking function to determine validators of BSC through independent election, and the election workflow are performed via staking procedure. +1. **Beacon Chain**. It is responsible for holding the staking function to determine validators of BSC through an independent election, and the election workflow are performed via staking procedure. 2. **BSC validators**. Validators are responsible for validating transactions and generating blocks, ensuring the network’s security and the consistency of the ledger. In return, they receive rewards from the gas consumption of transactions. 3. **Staking dApps on BSC(also named as system contract)**. There are several genesis contracts to help implement staking on BSC. Six classification groups of them: - **Light client contract**. It is a watcher of distributed consensus process implemented by contract that only validates the consensus algorithm of Beacon Chain. @@ -132,20 +132,20 @@ Before introducing, we would like to clarify some terms: ### Key features -#### Light client security +#### Light Client Security Validators set changes take place at the (epoch+N/2) blocks. (N is the size of validatorset before epoch block). Considering the security of light client, we delay N/2 block to let validatorSet change take place. Every epoch block, validator will query the validatorset from contract and fill it in the extra_data field of block header. Full node will verify it against the validatorset in contract. A light client will use it as the validatorSet for next epoch blocks, however, it can not verify it against contract, it have to believe the signer of the epoch block. If the signer of the epoch block write a wrong extra_data, the light client may just go to a wrong chain. If we delay N/2 block to let validatorSet change take place, the wrong epoch block won’t get another N/2 subsequent blocks that signed by other validators, so that the light client are free of such attack. -#### System transaction +#### System Transaction The consensus engine may invoke system contracts, such transactions are called system transactions. System transactions is signed by the the validator who is producing the block. For the witness node, will generate the system transactions(without signature) according to its intrinsic logic and compare them with the system transactions in the block before applying them. -#### Enforce backoff +#### Enforce Backoff In Clique consensus protocol, out-of-turn validators have to wait a randomized amount of time before sealing the block. It is implemented in the client-side node software and works with the assumption that validators would run the canonical version. However, given that validators would be economically incentivized to seal blocks as soon as possible, it would be possible that the validators would run a modified version of the node software to ignore such a delay. To prevent validator rushing to seal a block, every out-turn validator will get a specified time slot to seal the block. Any block with a earlier blocking time produced by a out-turn validator will be discarded by other witness node. -### How to Produce a new block +### How to Produce a New Block #### Step 1: Prepare A validator node prepares the block header of next block. @@ -155,7 +155,7 @@ A validator node prepares the block header of next block. * Every epoch block, will store validators set message in `extraData` field of block header to facilitate the implement of light client. * The coinbase is the address of the validator -#### Step2: FinalizeAndAssemble +#### Step2: Finalize And Assemble * If the validator is not the in turn validator, will call liveness slash contract to slash the expected validator and generate a slashing transaction. * If there is gas-fee in the block, will distribute **1/16** to system reward contract, the rest go to validator contract. @@ -168,7 +168,7 @@ The final step before a validator broadcast the new block. ### How to Validate/Replay a block -#### Step1: VerifyHeader +#### Step1: Verify Header Verify the block header when receiving a new block. * Verify the signature of the coinbase is in `extraData` of the `blockheader` diff --git a/docs/learn/cross-chain-transfer.md b/docs/learn/cross-chain-transfer.md index 8cf9df5..1ca44d6 100644 --- a/docs/learn/cross-chain-transfer.md +++ b/docs/learn/cross-chain-transfer.md @@ -1,9 +1,4 @@ ---- -sidebar_label: Cross-Chain Token Transfer -sidebar_position: 2 -hide_table_of_contents: false ---- -# Cross-Chain Transfer +# Cross-Chain Transfer Token Transfer Cross-chain transfers only support bound BEP2 or BEP8 tokens on BC and BEP20 tokens on BSC. @@ -61,9 +56,9 @@ Committed at block 465899 (tx hash: 68FFF82197E27A3EC14AFF8C99A035FA9CA7120312AA ### transferOut -Call **transferOut** of [TokenHub contract](https://raw.githubusercontent.com/binance-chain/bsc-genesis-contract/master/abi/tokenhub.abi) in [MyEtherWallet](https://www.myetherwallet.com/): +Call **transferOut** of [TokenHub contract](https://raw.githubusercontent.com/bnb-chain/bsc-genesis-contract/master/abi/tokenhub.abi) in [MyEtherWallet](https://www.myetherwallet.com/): -img +img @@ -89,7 +84,7 @@ After all the above parameters have been set to proper values, users can click t Call **batchTransferOutBNB** of TokenHub contract in MyEtherWallet: -img +img | Parameter Name | Type | Description | | -------------- | --------- | ------------------------------------------------------------ | @@ -119,7 +114,7 @@ Before calling **transferOut** or **batchTransferOut**, users need to call **app ### transferOut -img +img | Parameter Name | Type | Description | | ------------ | ------- | ------------------------------------------------------------ | @@ -162,4 +157,4 @@ bnbcli token mint --symbol ABC-A64 --amount 1000000000000 --from owner --chain-i ## testnet tbnbcli token mint --symbol ABC-A64 --amount 1000000000000 --from owner --chain-id Binance-Chain-Ganges --node http://data-seed-pre-0-s3.binance.org:80 ``` -* Transfer all minted ABC-A64 token to the pure-code-controlled address: `tbnb1v8vkkymvhe2sf7gd2092ujc6hweta38xnc4wpr`(mainnet address: `bnb1v8vkkymvhe2sf7gd2092ujc6hweta38xadu2pj`) \ No newline at end of file +* Transfer all minted ABC-A64 token to the pure-code-controlled address: `tbnb1v8vkkymvhe2sf7gd2092ujc6hweta38xnc4wpr`(mainnet address: `bnb1v8vkkymvhe2sf7gd2092ujc6hweta38xadu2pj`) diff --git a/docs/learn/cross-chain.md b/docs/learn/cross-chain.md index f40b118..024a857 100644 --- a/docs/learn/cross-chain.md +++ b/docs/learn/cross-chain.md @@ -15,6 +15,6 @@ A native cross chain communication protocol is developed between BC (Beacon Chai ## Architecture Diagram -The following diagram depicts the architecture of cross-transfer mechanism. +The following diagram depicts the architecture of the cross-transfer mechanism. ![img](../../static/img/cross-transfer-architecture.png) diff --git a/docs/learn/ecosystem.md b/docs/learn/ecosystem.md index f4531ea..b1adf8e 100644 --- a/docs/learn/ecosystem.md +++ b/docs/learn/ecosystem.md @@ -6,7 +6,7 @@ hide_table_of_contents: false # Tools and Ecosystem of BNB Smart Chain -In order to check the latest updates on the ecosystem of the [official GitHub Page](https://github.com/binance-chain/bsc-ecosystem). +In order to check the latest updates on the ecosystem of the [official GitHub Page](https://github.com/bnb-chain/bsc-ecosystem). The goal of this page is to provide the current status of the open-source BNB Smart Chain Tech Stack and highlight the potential interesting projects that are most demanded by the BSC community and ecosystem. @@ -25,11 +25,12 @@ In the below sections you can find a list of different layers of the BSC Stack. | Components | Existing projects | Potentially interesting projects |-|-|- +| BNBChain List Explorer | [BNBChain List](https://www.bnbchainlist.org/) | Desktop Wallets | [Wise Safe](https://smart-binance.portonvictor.org/) (a port of Gnosis Safe), [Mycrypto](https://download.mycrypto.com/), [Tokenpocket](https://www.tokenpocket.pro/en/download/pc) | Browser Extensions | [Binance Wallet](https://chrome.google.com/webstore/detail/binance-chain-wallet/fhbohimaelbohpjbbldcngcnapndodjp),[MetaMask](https://metamask.io/), [MathWallet](https://mathwallet.xyz/en/), [SafePal](https://www.safepal.io/) | Mobile Wallets| [MathWallet](https://mathwallet.xyz/en/), [TrustWallet](https://trustwallet.com/), [BitKeep](https://bitkeep.com/), [TokenPocket](https://www.tokenpocket.pro/), [SafePal](https://www.safepal.io/), [ONTO Wallet](https://www.onto.app/en), [Hyperpay](https://hyperpay.tech/), [AlphaWallet](https://alphawallet.com/), [Cobo](https://cobo.com/), [Bridge Wallet](https://www.mtpelerin.com/bridge-wallet) | Web (burner) Wallets| [Torus](https://toruswallet.io/),[MyEtherWallet](https://www.myetherwallet.com/) -| CLI Wallet | [geth](https://github.com/binance-chain/bsc), [Seth](https://github.com/dapphub/dapptools/tree/master/src/seth) +| CLI Wallet | [geth](https://github.com/bnb-chain/bsc), [Seth](https://github.com/dapphub/dapptools/tree/master/src/seth) | Multisignature Wallets| [MultiSigWallet](https://github.com/gnosis/MultiSigWallet) | gnosis | Hardware Wallets | [Ledger](https://www.ledger.com/ethereum-wallet), [trezor](https://trezor.io/) | Block Explorers | [BSCScan](https://bscscan.com/), [BitQuery](https://explorer.bitquery.io/bsc) @@ -63,7 +64,7 @@ In the below sections you can find a list of different layers of the BSC Stack. | Frontend BSC APIs | [Web3.js](https://github.com/ethereum/web3.js/), [Eth.js](https://github.com/ethjs), [Ethers.js](https://github.com/ethers-io/ethers.js/), [light.js](https://github.com/paritytech/js-libs/tree/master/packages/light.js) | Backend BSC APIs | [Web3.py](https://github.com/ethereum/web3.py), [Web3.php](https://github.com/sc0Vu/web3.php), [Java Web3](https://github.com/web3j/web3j), [Net Web3](https://nethereum.com/), [Ruby Web3](https://github.com/EthWorks/ethereum.rb) -Goto [BSC Developer Ecosystem](https://github.com/binance-chain/bsc-ecosystem/blob/master/BSC_Develop_Ecosystem.md) to navigate the full list. +Goto [BSC Developer Ecosystem](https://github.com/bnb-chain/bsc-ecosystem/blob/master/BSC_Develop_Ecosystem.md) to navigate the full list. ### Dapps infra | Components | Existing projects | Potentially interesting projects @@ -72,7 +73,7 @@ Goto [BSC Developer Ecosystem](https://github.com/binance-chain/bsc-ecosystem/bl | Oracle | [Band Protocol](https://bandprotocol.com/), [ChainLink](https://chain.link/), [Sphinx](https://m.sphinx.finance/) | Archive Data |[InfStones](https://infstones.com/) | File Storage, Cloud | | -| Cross Chain Bridges | [Binance Bridge](https://www.binance.org/en/bridge), [AnySwap](https://anyswap.exchange/dashboard), [renVM](https://renproject.io/), [NerveNetwork](https://nerve.network/), [JellySwap](https://jelly.market/), [PolyNetwork](https://www.poly.network/), [Orbit Bridge](https://bridge.orbitchain.io/) | Decentralized, trustless, Open Access| +| Cross Chain Bridges | [AnySwap](https://anyswap.exchange/dashboard), [renVM](https://renproject.io/), [NerveNetwork](https://nerve.network/), [JellySwap](https://jelly.market/), [PolyNetwork](https://www.poly.network/), [Orbit Bridge](https://bridge.orbitchain.io/) | Decentralized, trustless, Open Access| | Randomness | | Trusless, Decentralized Randomness solution | Licensing | | Computation | @@ -107,7 +108,7 @@ Goto [BSC Developer Ecosystem](https://github.com/binance-chain/bsc-ecosystem/bl | Components | Existing projects | Potentially interesting projects |-|-|- | Rust | -| Go | [BSC](https://github.com/binance-chain/bsc) +| Go | [BSC](https://github.com/bnb-chain/bsc) ### Signatures @@ -116,4 +117,4 @@ Goto [BSC Developer Ecosystem](https://github.com/binance-chain/bsc-ecosystem/bl |-|-|- | Easy multisig scheme | | Validator HSMs| | -| Validator HSM-like solutions| \ No newline at end of file +| Validator HSM-like solutions| diff --git a/docs/learn/genesis.md b/docs/learn/genesis.md index b1dc2f3..b6a22f5 100644 --- a/docs/learn/genesis.md +++ b/docs/learn/genesis.md @@ -15,8 +15,8 @@ A genesis file is a JSON file which defines the initial state of your blockchain The state defined in the genesis file contains all the necessary information, like initial token allocation, genesis time, default parameters, and more. Let us break down these information. -Genesis Link for Mainnet: -Genesis Link for Chapel Testnet: +Genesis Link for Mainnet: +Genesis Link for Chapel Testnet: ## Explaination diff --git a/docs/learn/gnosis.md b/docs/learn/gnosis.md index 3ed6bf7..9054e3f 100644 --- a/docs/learn/gnosis.md +++ b/docs/learn/gnosis.md @@ -1,5 +1,5 @@ --- -sidebar_label: Gnosis Safe Multisig on BNB Smart Chain +sidebar_label: Gnosis Safe Multisig sidebar_position: 2 hide_table_of_contents: false --- @@ -173,4 +173,4 @@ Great! You have created a Gnosis safe. API to keep track of transactions sent via Gnosis Safe smart contracts - \ No newline at end of file + diff --git a/docs/learn/incentives.md b/docs/learn/incentives.md index ea0c866..77dd964 100644 --- a/docs/learn/incentives.md +++ b/docs/learn/incentives.md @@ -15,10 +15,10 @@ It is tough hard to achieve all these goals; we make some trade-off on robustnes ## Rewards Source and Allocation -We have three reward source: +We have three reward sources: -1. Users paid reward: Users who send `bind` or `cross chain transfer` transactions need to pay extra fee as bsc-relayer rewards. -2. System reward: Rewards comes from `SystemReward` contract. +1. Users paid rewards: Users who send `bind` or `cross chain transfer` transactions need to pay extra fee as BSC relayer rewards. +2. System rewards: Rewards comes from `SystemReward` contract. The role of relayers and their rewards comes from: @@ -54,12 +54,12 @@ To prevent the relayer who has the best network always winning the game, we gath ### We consider setting these parameters a reasonable value: 1. S to be 100. Some rewards come from gas fee, we can not guarantee enough rewards during a small round, a large round may dismiss deviation and let relayer give up relaying when it has made its max profit. -2. N to be 40. We think the redundancy of relayer around 3-5 is best. If N is too large, the redundancy will decrease, if too small there are no enough relayers. Set N as 40 may be a reasonable value, at least 3 relayers can compete. +2. N to be 40. We think the redundancy of relayer around 3-5 is best. If N is too large, the redundancy will decrease. If N is too small, then there will not be enough relayers. Set N as 40 may be a reasonable value, at least 3 relayers can compete. 3. The relayFee of a single package and the ratio of reward for header relayer can be modified by governance on Beacon Chain. ### Distribution And Claim Reward -In each round, the last package delivery transaction will trigger the reward distribution. Both the header reward pool and package reward pool will be distributed. However, the reward won't be paid directly to relayer accounts. The distribution algorithm just calculates rewards for all relayers and write down the amounts. Relayers are required to actively send transactions to claim their own accumulated rewards. +In each round, the last package delivery transaction will trigger the reward distribution. Both the header reward pool and package reward pool will be distributed. However, the reward won't be paid directly to relayer accounts. The distribution algorithm just calculates rewards for all relayers and writes down the amounts. Relayers are required to actively send transactions to claim their own accumulated rewards. ## Other Consideration @@ -77,7 +77,7 @@ Block header sync transaction with `validatorSet` change will claim reward to re For example, a relayer may deliver packages using a different address in round robin, we can’t recognize this. We try to introduce registration and BNB deposit for relayer to raise the cost of cheat. How it works: -* A BSC account needs call `register` of [RelayerHub](https://bscscan.com/address/0x0000000000000000000000000000000000001006) contract to deposit 100BNB(more or less than 100 BNB will be rejected) to become a BSC relayer. +* A BSC account needs to call the `register` of [RelayerHub](https://bscscan.com/address/0x0000000000000000000000000000000000001006) contract to deposit 100BNB(more or less than 100 BNB will be rejected) to become a BSC relayer. * Only a valid relayer can sync Beacon Chain Headers and deliver cross-chain packages. * Relayer can withdraw its deposit, but we will charge 0.1 BNB as the transaction fee so that it will receive 99.9 BNB back. -* The charged fee will directly go to system reward pool. +* The charged fee will directly go to the system reward pool. diff --git a/docs/learn/intro.md b/docs/learn/intro.md index f44f738..9ed544b 100644 --- a/docs/learn/intro.md +++ b/docs/learn/intro.md @@ -11,13 +11,13 @@ Other than the 21 active validators, BSC will introduce more validators, e.g. an Candidates will produce blocks and charge gas fees in BSC mainnet, but in a much less chance than the official validator set of 21 elected. The unavailable candidates will be slashed as well though in a smaller size. A decent motivation is expected to be maintained so that the candidate validators are willing to ensure the quality and help secure BSC. -In an extreme case, if a majority of the active 21 validators get attacked and offline, Candidate Validators can report to Beacon Chain about the stale blocking, resume it and eventually propose a re-election of active validator set. +In an extreme case, if a majority of the active 21 validators get attacked and offline, Candidate Validators can report to Beacon Chain about the stale blocking, resume it and eventually propose a re-election of the active validator set. The BNB Smart Chain also supports EVM-compatible smart contracts and protocols. Cross-chain transfer and other communication are possible due to native support of interoperability. Binance DEX remains a liquid venue of the exchange of assets on both chains. This dual-chain architecture will be ideal for users to take advantage of the fast trading on one side and build their decentralized apps on the other side. The Binance Smart Chain will be: * **A self-sovereign blockchain**: Provides security and safety with elected [validators](consensus.md). * **EVM-compatible**: Supports all the existing Ethereum tooling along with faster finality and cheaper transaction fees. -* **Interoperable**: Comes with efficient native dual chain communication; Optimized for scaling high-performance dApps that require fast and smooth user experience. +* **Interoperable**: Comes with efficient native dual chain communication; Optimized for scaling high-performance dApps that require a fast and smooth user experience. * **Distributed with on-chain governance**: Proof of Staked Authority (PoSA) brings in decentralization and community participants. As the native token, BNB will serve as both the gas of smart contract execution and tokens for staking. ## Ecosystem of cross-chains and multi-chains -The big lesson learned from BSC 2021 is that “one chain” cannot cover all angles. At peak time, BSC had more than 2M daily active users (DAU), with a single GameFi reaching up to 1M DAU. This introduced significant challenges for both the network itself and its supporting infrastructure like RPC/API nodes. For dApps with massive user bases, multi-chains and cross-chain should be the solution. +The big lesson learned from BSC 2021 is that “one chain” cannot cover all angles. At the peak time, BSC had more than 2M daily active users (DAU), with a single GameFi reaching up to 1M DAU. This introduced significant challenges for both the network itself and its supporting infrastructure like RPC/API nodes. For dApps with massive user bases, multi-chains and cross-chain should be the solution. The BSC Core Team strongly believes in partition chains and a multi-chain future as it can sustain the ever-increasing demand for decentralized computing power and storage. This is consistent with many other blockchains in the industry, such as ETH2.0 and multi-chain strategies in Polkadot, Cosmos, and Avalanche. -The cross-shard and cross-chain/multi-chain interoperability will be the key topic of 2022. The BSC validators and developers community is dedicated to fulfilling BSC’s vision to operate at the crossroads of a decentralized blockchain future. Specifically, we aim to achieve this by implementing new technologies on BSC via BSC Application Side Chain (BAS) and BSC Partition Chain (BPC) infrastructure layers. +The cross-shard and cross-chain/multi-chain interoperability will be the key topic of 2022. The BSC validators and developers community is dedicated to fulfilling BSC’s vision to operate at the crossroads of a decentralized blockchain future. Specifically, we aim to achieve this by implementing new technologies on BSC via BNB Sidechain and BSC Partition Chain (BPC) infrastructure layers. -![BSC 2022](/img/assets/new-eco.jpg) +![BSC 2022](/img/assets/BNBChain2022.jpg) -### BSC Application Side Chain (BAS) -The BAS is an infrastructure introduced to help developers and node operators build and run their own blockchain as their internal value system for a massive number of users while still maintaining a close connection with BSC. Any project developer will be able to deploy their own BAS with its unique specifications and validator set. This validator set can run with fewer validators than BSC, depending on the BAS deployer. These validators can be run by the application owners or any community stakeholders, bringing more flexibility and decentralization to BAS. The typical usage of BAS is like the Ronin chain for the Axie Infinity. However, to minimize the potential risks of the side chain, a new protocol (including built-in asset types and cross-chain) should be introduced to ensure seamless liquidity between BAS and BSC. +### BNB Sidechain +The BNB Sidechain is an infrastructure introduced to help developers and node operators build and run their own blockchain as their internal value system for a massive number of users while still maintaining a close connection with BSC. Any project developer will be able to deploy their own BNB Sidechain with its unique specifications and validator set. This validator set can run with fewer validators than BSC, depending on the BNB Sidechain deployer. These validators can be run by the application owners or any community stakeholders, bringing more flexibility and decentralization to BNB Sidechain. The typical usage of BNB Sidechain is like the Ronin chain for the Axie Infinity. However, to minimize the potential risks of the side chain, a new protocol (including built-in asset types and cross-chain) should be introduced to ensure seamless liquidity between BNB Sidechain and BSC. ### BSC Partition Chain (BPC) The BPC will introduce another subspace with a new validator set, a new computing engine, and a new ledger. Essentially it works as a “shard” or a “layer 2” to offload part of the data, computing, and transactions from the BSC Mainnet to other smaller parallel blockchains. diff --git a/docs/learn/oracle-module.md b/docs/learn/oracle-module.md index c820c82..44420dd 100644 --- a/docs/learn/oracle-module.md +++ b/docs/learn/oracle-module.md @@ -6,16 +6,16 @@ hide_table_of_contents: false # Oracle on Beacon Chain -The **oracle** module is a common module like gov which is used to handle prophecy and claim. Prophecy means the validators want to reach a consensus on something, like cross chain transfer. Claim is raised by a validator and the content of claim is the the cross chain transfer. When most of the validators (like 70%) claim the same thing on the prophecy, the winning claim will be executed.For oracle module is a common module, other module which depends on oracle module will register claim type and related hooks checking and handling claim. Each claim type has a sequence, oracle module should process prophecy and claim by sequence. When one prophecy was executed successfully, the sequence of the claim type will be increased by one. +The **oracle** module is a common module like gov which is used to handle prophecy and claim. Prophecy means the validators want to reach a consensus on something, like cross chain transfer. Claim is raised by a validator and the content of claim is the cross chain transfer. When most of the validators (like 70%) claim the same thing on the prophecy, the winning claim will be executed.For oracle module is a common module, other module which depends on oracle module will register claim type and related hooks checking and handling claim. Each claim type has a sequence, oracle module should process prophecy and claim by sequence. When one prophecy is executed successfully, the sequence of the claim type will be increased by one. ## Oracle Process 1. Oracle module receives a claim message from validator, if the sequence is not current sequence, the claim message will be rejected. 2. If sequence is valid, the hooks of the claim type will check the claim message, if the claim message is invalid, then return -3. If claim message is valid and it’s the first claim, the related prophecy will be created. If claim message is not the first claim, then it will be added to the existed prophecy. -4. If the power of validators which claim the same content reaches a threshold like 70%, the prophecy will be marked success and the hooks will executed the winning claim. and the sequence of claim type will be increased. +3. If the claim message is valid and it’s the first claim, the related prophecy will be created. If claim message is not the first claim, then it will be added to the existed prophecy. +4. If the power of validators which claim the same content reaches a threshold like 70%, the prophecy will be marked success and the hooks will execute the winning claim and the sequence of claim type will be increased. 5. If there is no chance that the validators will reach a consensus, the prophecy will be marked failed and the prophecy will be deleted and the validators should start over again. ## Bridge Module -Bridge module will process cross chain transactions. It contains two parts: transactions from bc to bsc and transactions from bsc to bc. -For transactions from bsc to bc, it will depend on the oracle module. When the validators reach a consensus on a certain claim, the bridge module will process the transaction according to the claim, like transfer from bsc to bc. -For transactions from bc to bsc, it will process the bc part of the transaction and write the related cross chain package for bsc. +Bridge module will process cross chain transactions. It contains two parts: transactions from BC to BSC and transactions from BSC to BC. +For transactions from BSC to BC, it will depend on the oracle module. When the validators reach a consensus on a certain claim, the bridge module will process the transaction according to the claim, like transfer from BSC to BC. +For transactions from BC to BSC, it will process the BC part of the transaction and write the related cross chain package for BSC. diff --git a/docs/learn/oracle-relayer.md b/docs/learn/oracle-relayer.md index 700cb8a..d927ebd 100644 --- a/docs/learn/oracle-relayer.md +++ b/docs/learn/oracle-relayer.md @@ -6,14 +6,14 @@ hide_table_of_contents: false # Oracle Relayer -The relayer is a service which monitors events on BSC, builds and broadcasts transactions to BC. Each validator operator should maintain its own relayer service. The relayer service requires to have access to validator operator private key. All relayer service independently witness the peggy contract events, then build transactions to claim events to BC oracle module. +The relayer is a service which monitors events on BSC, builds and broadcasts transactions to BC. Each validator operator should maintain its own relayer service. The relayer service requires to have access to the validator operator private key. All relayer service independently witness the peggy contract events, then build transactions to claim events to BC oracle module. The relay process: * Continually listen for cross chain event -* Parse the cross chain tranfer parameters from event data +* Parse the cross-chain transfer parameters from event data * Use this information to build an unsigned BC oracle transaction * Sign and broadcast transaction. -GitHub Implementation link: \ No newline at end of file +GitHub Implementation link: \ No newline at end of file diff --git a/docs/learn/system-contract.md b/docs/learn/system-contract.md index 8e44c4f..49c62a7 100644 --- a/docs/learn/system-contract.md +++ b/docs/learn/system-contract.md @@ -6,15 +6,12 @@ hide_table_of_contents: false # Build-in System Contract -## Disclaimer +### Disclaimer -**The software and related documentation are under active development, -all subject to potential future change without notification and not ready for production use. -The code and security audit have not been fully completed and not ready for any bug bounty. -We advise you to be careful and experiment on the network at your own risk. Stay safe out there.** +**The software and related documentation are under active development, all subject to potential future change without notification and not ready for production use. The code and security audit have not been fully completed and are not ready for any bug bounty. We advise you to be careful and experiment on the network at your own risk. Stay safe out there.** -GitHub Implementation link: +GitHub Implementation link: | Contract Name | Contract Address | ABI file | @@ -38,7 +35,7 @@ In Tendermint, validators agree on a block before processing it. This means that Unlike Proof-of-Work, the light-client protocol does not need to download and check all the headers in the blockchain - the client can always jump straight to the latest header available, so long as the validator set has not changed much. If the validator set is changing, the client needs to track these changes, which requires downloading headers for each block in which there is a significant change. Here, we will assume the validator set is constant, and postpone handling validator set changes for another time. -Ethereum platform supports stateless precompiled contract implemented with golang and normal contract implemented with solidity. Comparing with normal contract, precompiled contracts are more efficient and costs less gas, but they are stateless. However, on-chain light client must be stateful. So here we will try to a mixed approach: precompiled implemented contract(stateless calculation, such as signature verification) and normal contract (store validator set and trusted appHash). +Ethereum platform supports stateless precompiled contract implemented with golang and normal contract implemented with solidity. As compared to normal contracts, precompiled contracts are more efficient and costs less gas, but they are stateless. However, on-chain light client must be stateful. So here we will try to a mixed approach: precompiled implemented contract(stateless calculation, such as signature verification) and normal contract (store validator set and trusted appHash). ![img](../../static/img/lightclient.png) @@ -82,7 +79,7 @@ This contract implements the following four methods: 2. function **getAppHash**(uint64 height) returns(bytes32) - **getAppHash** provides a method to get the verified appHash at the specified height. Besides, If the header the specified height have not be verified, then zero value will be returned. + **getAppHash** provides a method to get the verified appHash at the specified height. Besides, If the header of the specified height have not be verified, then zero value will be returned. 3. function **isHeaderSynced**(uint64 height) returns (bool) @@ -93,11 +90,11 @@ This contract implements the following four methods: **getSubmitter** provides a method to get the submitter address of the specified header. #### Merkle Proof Verification Library -This library provides an util to to verify merkle proof from BC. Contracts which need to verify Merkle proof just need to import this library. +This library provides an util to verify merkle proof from BC. Contracts which need to verify Merkle proof just need to import this library. function **verifyMerkleProof**(int64 height, byte[] key, byte[] value, byte[] proof) bool -**verifyMerkleProof** reassembles user parameters and call the the above precompiled contract to validate the proof. +**verifyMerkleProof** reassembles user parameters and calls the above precompiled contract to validate the proof. ## Other Build-in System Contract @@ -131,8 +128,8 @@ function **verifyMerkleProof**(int64 height, byte[] key, byte[] value, byte[] pr * **Governance Contract** - This contract handles governance package from BC. A governance package contains target contract address, parameter name and new parameter value. Once the package is verified, this contract will call the parameter update method of the target contract to update the parameter to new value. + This contract handles the governance package from BC. The governance package contains the target contract address, parameter name and new parameter value. Once the package is verified, this contract will call the parameter update method of the target contract to update the parameter to new value. * **Cross Chain Contract** - This contract focuses on cross chain packages pretreatment and sending cross chain packages to BC by emit event. The packages pretreatment includes sequence validation and the merkle proof verification. Once they are passed, the package will be routed to application build-in system contract, such as tokenhub or bscvalidator. Besides, if tokenhub or bscvalidator want to send packages to BC, they need to encode their packages with rlp and call this contract to send them. + This contract focuses on cross chain packages pretreatment and sending cross chain packages to BC by emit event. The packages pretreatment includes sequence validation and the merkle proof verification. Once they are passed, the package will be routed to application build-in system contract, such as tokenhub or bscvalidator. Besides, if tokenhub or bscvalidator wants to send packages to BC, they need to encode their packages with rlp and call this contract to send them. diff --git a/docs/learn/terminology.md b/docs/learn/terminology.md deleted file mode 100644 index 9ff33bc..0000000 --- a/docs/learn/terminology.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -sidebar_label: Terminology -sidebar_position: 2 -hide_table_of_contents: false ---- \ No newline at end of file diff --git a/docs/local.md b/docs/local.md index c3bb36c..d07539f 100644 --- a/docs/local.md +++ b/docs/local.md @@ -9,14 +9,14 @@ sidebar_position: 2 See also : [https://github.com/ethereum/go-ethereum/wiki/Private-network](https://github.com/ethereum/go-ethereum/wiki/Private-network) -## Setting up your BSC Node(s) +## Setting Up Your BSC Node(s) ### Pre-Requisites #### Install Geth Review the guide [here](validator/fullnode.md) -#### Create /projects +#### Create /projects Symbolic Link Create a `/projects` symbolic link *(Note: This step is simply so "/projects" can be used in all other commands, instead you could use full paths, or set an env var)* @@ -32,7 +32,7 @@ $ sudo ln -s /projects $ mkdir /projects/local_ethereum_blockchain ``` -### Create the genesis block config +### Create the Genesis Block Config Create this file : `/projects/local_ethereum_blockchain/genesis.json` @@ -58,31 +58,31 @@ With the following contents : ``` ([info about the genesis file](https://ethereum.stackexchange.com/a/2377/2040)) -### Initialise an Ethereum node +### Initialize an Ethereum Node ``` $ geth --datadir /projects/local_ethereum_blockchain/node1 init /projects/local_ethereum_blockchain/genesis.json ``` -### Start that Ethereum node +### Start the Ethereum Node ``` $ geth --datadir /projects/local_ethereum_blockchain/node1 --networkid 1000 console ``` -### Initialise another Ethereum node +### Initialize Another Ethereum Node ``` $ geth --datadir /projects/local_ethereum_blockchain/node-2 init /projects/local_ethereum_blockchain/genesis.json ``` -### Start the 2nd Ethereum node +### Start the 2nd Ethereum Node ``` $ geth --datadir /projects/local_ethereum_blockchain/node-2 --port 30304 --nodiscover --networkid 1000 console ``` -### Connect one node to the other +### Connect One Node to the Other In one geth console : @@ -97,7 +97,7 @@ In the other console : ``` -## Useful geth commands +## Useful geth Commands ### Node info @@ -119,7 +119,7 @@ How many peers ? > admin.peers.length ``` -### Create an account +### Create an Account You need an account to do be able to do things like mining @@ -127,9 +127,9 @@ You need an account to do be able to do things like mining > personal.newAccount() ``` -*And make sure your remember/save the password!* +*And make sure you remember/save the password!* -### Unlock account +### Unlock Account Neccessary before some actions @@ -137,7 +137,7 @@ Neccessary before some actions > personal.unlockAccount( eth.accounts[0] ) ``` -### Start mining +### Start Mining ``` > miner.start(1) @@ -145,38 +145,38 @@ Neccessary before some actions The first block may take a while to mine, allow a few minutes -### Stop mining +### Stop Mining ``` > miner.stop() ``` -### Current block number +### Current Block Number ``` > eth.blockNumber ``` -### Details of current block +### Details of Current Block ``` > eth.getBlock( eth.blockNumber ) ``` -### Which node minded the last block +### Which Node had Mined the Last Block ``` > eth.getBlock(eth.blockNumber).miner ``` -### Account balance, in ether +### Account Balance in Ether ``` > web3.fromWei(eth.getBalance(eth.accounts[0])) ``` -### Transfer ether between accounts +### Transfer Ether Between Accounts First get the account numbers by doing @@ -207,7 +207,7 @@ Finally transfer 1 ether -## Connect to other nodes on your network +## Connect to Other Nodes on Your Network 1. Get the IP of the node : `$ ifconfig|grep netmask|awk '{print $2}'` diff --git a/docs/manual.md b/docs/manual.md index 850c955..091e58d 100644 --- a/docs/manual.md +++ b/docs/manual.md @@ -1,36 +1,30 @@ --- -sidebar_label: Manually Install BNB Chain Extension Wallet +sidebar_label: Manually Install Binance Extension Wallet hide_table_of_contents: false sidebar_position: 2 --- -# How to manually install the BNB Chain Extension Wallet +# How to Manually Install Binance Extension Wallet ## Download the zip file -Visit https://binance.org/en/ +- Visit https://binance.org/en/ ![img](https://lh5.googleusercontent.com/MwqWuCAJS0hJlE-XCcuUbcWDUM2eY-idLD21hVu1_gMSCBMI_9s_lbur3w_m8M8r1InFdAKPKm4nB4A9m7vxfkfOt1kCtl-a_TYUF0SzHvnG6Ywc-cvLGFE_w3z3sOpLHDiJdSt1) -Click **Chrome** and you will download the file `BinanceChainBrowserExtension-1.114.0.zip` +- Click **Chrome** and you will download the file `BinanceChainBrowserExtension-1.114.0.zip` ## Install in Chrome -Visit chrome://extensions/ +- Visit chrome://extensions/ -Open the **Developer mode** +- Open the **Developer mode** ![img](https://lh4.googleusercontent.com/ffFKR28yRqbarsFLSvRhJR6XRVw85VUCM260joofaSIIAGED_xZOmEqjkY9TZH_7oBiH8XdFum9rJRyOaXlqtPWCrJy1PaBzYIfrfgKGZA8B1Qs6V8rUVWZ7sSkgCG6v6b3WfSKU) -Drag and drop the mathwallet.zip file into the Extension window. - -Then the install is completed. - - +- Drag and drop the `mathwallet.zip` file into the Extension window. Then the installation is completed. ## Other browsers -The same method is working for the browsers such as Firefox, Brave etc. - -If you have any other questions, join https://t.me/bcextensionwallet +The same method is working for the browsers such as Firefox, Brave etc. If you have any other questions, join our [Telegram Channel](https://t.me/bcextensionwallet). Note: manually installed version will not upgrade automatically, so you will need to manually install the new version. \ No newline at end of file diff --git a/docs/mirror.md b/docs/mirror.md index cedd657..9e7266a 100644 --- a/docs/mirror.md +++ b/docs/mirror.md @@ -6,20 +6,20 @@ sidebar_position: 2 # Mirror BEP2 and BEP20 Token -## Prerequisite +## Pre-requisites -This BEP20 token is not bond to any BEP2 token +This BEP20 token is not bonded to any BEP2 token ## Motivation -Anyone can call the `mirror` [method](https://github.com/binance-chain/bsc-genesis-contract/blob/af4f3993303213052222f55c721e661862d19638/contracts/TokenManager.sol#L331) to issue a BEP2 token automatically and bind them. +Anyone can call the `mirror` [method](https://github.com/bnb-chain/bsc-genesis-contract/blob/af4f3993303213052222f55c721e661862d19638/contracts/TokenManager.sol#L331) to issue a BEP2 token automatically and bind them. -## What happens under the hood +## What Happens Under the Hood - Verify there is no pending mirror request - Check the total supply and token symbol is valid - Send a cross-chain package to issue a BEP2 token on Beacon Chain -- The newly created BEP2 token is locked until token holder send cross-chain transfer +- The newly created BEP2 token is locked until the token holder send cross-chain transfer After binding, all liquid circulation is on BSC. @@ -34,7 +34,7 @@ Both `mirrorFee` and `relayFee` can be changed by on-chain governance To query `mirrorFee` from system contract; -- Call `Tokenmanager` [Contract](https://testnet.bscscan.com/address/0x0000000000000000000000000000000000001008#writeContract) with the latest [ABI](https://github.com/binance-chain/bsc-genesis-contract/blob/master/abi/tokenmanager.abi ) +- Call `Tokenmanager` [Contract](https://testnet.bscscan.com/address/0x0000000000000000000000000000000000001008#writeContract) with the latest [ABI](https://github.com/bnb-chain/bsc-genesis-contract/blob/master/abi/tokenmanager.abi ) - Query `mirrorFee` function @@ -42,7 +42,7 @@ Fee= result/1e18 To query `relayFee` from system contract; -- Call `TokenHub` [Contract](https://testnet.bscscan.com/address/0x0000000000000000000000000000000000001008#writeContract) with the latest [ABI](https://github.com/binance-chain/bsc-genesis-contract/blob/master/abi/tokenhub.abi ) +- Call `TokenHub` [Contract](https://testnet.bscscan.com/address/0x0000000000000000000000000000000000001008#writeContract) with the latest [ABI](https://github.com/bnb-chain/bsc-genesis-contract/blob/master/abi/tokenhub.abi ) - Query `getMiniRelayFee` function @@ -52,7 +52,7 @@ Fee= result/1e18 - Call `Tokenmanager` Contract -Use the latest [ABI](https://github.com/binance-chain/bsc-genesis-contract/blob/master/abi/tokenmanager.abi ) +Use the latest [ABI](https://github.com/bnb-chain/bsc-genesis-contract/blob/master/abi/tokenmanager.abi ) ![img](https://lh5.googleusercontent.com/SYyvWVcLHELSE72JSXqBwMJB6Y50jMz5HgH6irmCbyxGwr-W_Hz-vbm4IqWXAqE2hvCAXaqNKfs28ZhGFtMrMrDgWvDfEkHPunnSuxSKPpLBtuxmiX-b5yRjfczENJxKDrqSAYWy) @@ -72,7 +72,7 @@ All set! You can query BEP2 Token symbol from `tokenhub` contract. -Use the latest [ABI](https://raw.githubusercontent.com/binance-chain/bsc-genesis-contract/master/abi/tokenhub.abi) +Use the latest [ABI](https://raw.githubusercontent.com/bnb-chain/bsc-genesis-contract/master/abi/tokenhub.abi) Select `getBoundBep2Symbol` function diff --git a/docs/more-help.md b/docs/more-help.md index c8f1451..8862ddf 100644 --- a/docs/more-help.md +++ b/docs/more-help.md @@ -1,28 +1,28 @@ # More Help -There is a [\#validator-support](http://discord.com/invite/bnbchain) **_Link confirmation requied_** Discord channel available to reach other testnet participants. +There is a [\#validator-support](http://discord.com/invite/bnbchain) Discord channel available to reach other testnet participants. ## Useful Links & Discussion -- Main portal to get community support is our [Online Forum](https://community.binance.org). +- Main portal to get community support is our [Online Forum](https://www.buildnbuild.dev). -- To keep track of the latest news in Beacon Chain/DEX, visit [Online Forum](https://community.binance.org). +- To keep track of the latest news in Beacon Chain/DEX, visit [Online Forum](https://www.buildnbuild.dev/). - Network Explorer - [BSCScan Explorer](https://bscscan.com/) -- Testnet Metrics Dashboard- [Testnet BscScan Explorer](https://testnet.bscscan.com/) [**_Link confirmation requied_** ] +- Testnet Metrics Dashboard- [Testnet BscScan Explorer](https://testnet.bscscan.com/) -- Binance Dex Support: Go to page , click on the ``help`` button then click ``contact us``. It will generate a ticket to Customer Service team. +- Binance Dex Support: Go to page , click on the ``help`` button then click ``contact us``. It will generate a ticket to Customer Service team. - Validator chat channels - - [\#validator-support](http://discord.com/invite/bnbchain) **_Link confirmation requied_** General support channel for any Validator related queries - - [\#node-support](http://discord.com/invite/bnbchain) **_Link confirmation requied_** General support channel for any node related queries + - [\#validator-support](http://discord.com/invite/bnbchain) General support channel for any Validator related queries + - [\#node-support](http://discord.com/invite/bnbchain) General support channel for any node related queries -- [\#testnet-announcements] [**_Link confirmation requied_**] The single source of truth for critical information relating Testnet + - [\#Dev-announcements](https://discord.com/channels/789402563035660308/912296661081006100) Can be accessed for any information related to development announcements. -- [Core software repo](https://github.com/binance-chain/docs-site) [**_Link confirmation requied_**] +- [Core software repo](https://github.com/bnb-chain/bnb-chain.github.io) -Can't find what you're looking for? Send an email to [**_email address required_**] or reach out to [**_user handle requried_**] on Discord. +Can't find what you're looking for? reach out to us on our [Discord Channel](http://discord.com/invite/bnbchain). diff --git a/docs/nft-metadata-standard.md b/docs/nft-metadata-standard.md index 641ef5e..bf47377 100644 --- a/docs/nft-metadata-standard.md +++ b/docs/nft-metadata-standard.md @@ -2,10 +2,11 @@ sidebar_label: NFT Metadata Standard sidebar_position: 1 --- +# NFT Metadata Standard -# Implementing token URI +## Implementing Token URI -To facilitate a marketplace on BSC to pull in off-chain metadata for BEP721 assets, the NFT contract will need to return a URI where the metadata can be found. To find this URI, the tokenURI method in ERC721 and the uri method in ERC1155 is used to track your NFT. You should implement the function in the Contract: +To facilitate a marketplace on BSC to pull in off-chain metadata for BEP721 assets, the NFT contract will need to return a URI where the metadata can be found. To find this URI, the tokenURI method in ERC721 and the uri method in ERC1155 are used to track your NFT. You should implement the function in the Contract: ``` @@ -23,7 +24,7 @@ function tokenURI(uint256 _tokenId) public view returns (string) { The tokenURI function in your Contract should return an HTTP or IPFS URL. When queried, this URL should in turn return a JSON blob of data with the metadata for your token. -# Metadata structure +## Metadata Structure Marketplaces on BSC support metadata that is structured according to [the official ERC721 metadata standard](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md). Additionally, several properties for your items are supported, giving you all the sorting and filtering capabilities on BSC Marketplaces. The below metadata structure, allows the BSC Marketplace to read and display the details about the assets which your NFTs represent. @@ -46,13 +47,13 @@ Here's how each of these properties work: |------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | name | Name of the item. Max 200 characters. | | description | A human-readable description of the item. Markdown is supported. Max 500 characters. | -| image | This is the URL to the image of the item. Can be just about any type of image. A 350 x 350 image is recommended. | +| image | This is the URL to the image of the item. It can be just about any type of image. A 350 x 350 image is recommended. | | animation_url | This is the URL to a multi-media attachment for the item. The file extensions GLTF, GLB, WEBM, MP4, M4V, OGV, and OGG are supported, along with the audio-only extensions MP3, WAV, and OGA. | | animation_type | This is the file format of the multi-media attachment provided from animation_url. | | external_url | This is the URL that will appear below the asset's image on the marketplace and will allow users to leave the marketplace and view the item on your site. | | attributes | These are the attributes for the item to describe the detail of the NFT. (see array below) | -## Attributes +### Attributes To present NFT traits, include the following array in the metadata: ``` @@ -99,10 +100,10 @@ Here `trait_type` is the name of the trait, `value` is the value of the trait, a All traits included in the attributes will be displayed in `Attribute`. If you don't want to have a `trait_type` for a particular trait, you can include just a value in the trait and it will be set as a generic attribute. -### Numeric Traits +#### Numeric Traits There are 3 supported options for `display_type`: `number` will show the value in pure number, `boost_number` allows you to show the number with Plus or Minus symbol, and `boost_percentage` is similar to boost_number but will show a percent sign behind the number. -### Date +#### Date Marketplace also supports date traits in `date` `display_type`. Pass in a unix timestamp as the value. ``` diff --git a/docs/parameters.md b/docs/parameters.md index ea7b226..d4e9c62 100644 --- a/docs/parameters.md +++ b/docs/parameters.md @@ -8,60 +8,59 @@ sidebar_position: 2 ### Staking Token -BNB +- **BNB** ### Max Validator Count -- 11 validators on Testnet -- 21 validators on Mainnet - +- **11** validators on Testnet +- **21** validators on Mainnet ### Validator Candidate #### Mainnet -* Minimiun Self-delegate Amount: 10000BNB on Mainnet . -* Claim reward frequency: everyday at 0:00 UTC -* Unbonding Period: 7 days +* **Minimiun Self-delegate Amount**: 10000BNB on Mainnet . +* **Claim reward frequency**: everyday at 0:00 UTC +* **Unbonding Period**: 7 days #### Testnet -* Minimiun Self-delegate Amount: 100BNB on testnet. -* Claim reward frequency: every 2 hours -* Unbonding Period: 4 hours +* **Minimiun Self-delegate Amount**: 100BNB on testnet. +* **Claim reward frequency**: every 2 hours +* **Unbonding Period**: 4 hours ### Delegator #### Mainnet -* Redelegate frequency: 7 days +* **Redelegate frequency**: 7 days #### Testnet -* Redelegate frequency: 4 hours - +* **Redelegate frequency**: 4 hours ### Slashing #### Mainnet -* Double-Sign Slash: 10000BNB - * Details: Anyone can submit a slashing request on BC with the evidence of Double Sign of BSC, which should contain the 2 block headers with the same height and parent block, sealed by the offending validator. -* Offline Slash: 50BNB - * Details: If a validator missed more than 50 blocks every 24h, the blocking reward for validator will not be relayed to BC for distribution but shared with other better validators. If it missed more than 150 blocks every 24h, then this will be propagated back to BC where another Slashing will happen -* Rewards for submitting double-sign evidence: 1000BNB -* Double-Sign Jail time: 2^63-1 seconds -* Downtime Jail time: 2 days -* Too Low self-delegation Jail time: 1 day +* **Double-Sign Slash**: 10000BNB + * **_Details_**: Anyone can submit a slashing request on BC with the evidence of Double Sign of BSC, which should contain the 2 block headers with the same height and parent block, sealed by the offending validator. +* **Offline Slash**: 50BNB + * **_Details_**: If a validator missed more than 50 blocks every 24h, the blocking reward for validator will not be relayed to BC for distribution but shared with other better validators. If it missed more than 150 blocks every 24h, then this will be propagated back to BC where another Slashing will happen +* **Rewards for submitting double-sign evidence**: 1000BNB +* **Double-Sign Jail time**: 2^63-1 seconds +* **Downtime Jail time**: 2 days +* **Too Low self-delegation Jail time**: 1 day #### Testnet -* Double-Sign Slash: 10000BNB - * Details: Anyone can submit a slashing request on BC with the evidence of Double Sign of BSC, which should contain the 2 block headers with the same height and parent block, sealed by the offending validator. -* Offline Slash: 30BNB - * Details: If a validator missed more than 50 blocks every 24h, the blocking reward for validator will not be relayed to BC for distribution but shared with other better validators. If it missed more than 150 blocks every 24h, then this will be propagated back to BC where another Slashing will happen -* Rewards for submitting double-sign evidence: 1000BNB -* Double-Sign Jail time: 2^63-1 seconds -* Downtime Jail time: 4h -* Too Low self-delegation Jail time: 4h +* **Double-Sign Slash**: 10000BNB + * **_Details_**: Anyone can submit a slashing request on BC with the evidence of Double Sign of BSC, which should contain the 2 block headers with the same height and parent block, sealed by the offending validator. +* **Offline Slash**: 30BNB + * **_Details_**: If a validator missed more than 50 blocks every 24h, the blocking reward for validator will not be relayed to BC for distribution but shared with other better validators. If it missed more than 150 blocks every 24h, then this will be propagated back to BC where another Slashing will happen +* **Rewards for submitting double-sign evidence**: 1000BNB +* **Double-Sign Jail time**: 2^63-1 seconds +* **Downtime Jail time**: 4h +* **Too Low self-delegation Jail time**: 4h + diff --git a/docs/proxy.md b/docs/proxy.md index 17b94f3..3883b3c 100644 --- a/docs/proxy.md +++ b/docs/proxy.md @@ -6,11 +6,11 @@ sidebar_position: 2 # Upgradeable BEP20 Contracts on BSC ## What are Upgradeable Contracts? -Smart contracts in EVM are designed to be immutable. Once you create them there is no way to modify them, effectively acting as an unbreakable contract among participants.What do I do if I want to expand the functionality of my contracts? What if there is a bug in the contract that leads to a loss of funds? What if a vulnerability in the Solidity compiler is discovered? +Smart contracts in EVM are designed to be immutable. Once you create them there is no way to modify them, effectively acting as an unbreakable contract among participants. What do I do if I want to expand the functionality of my contracts? What if there is a bug in the contract that leads to a loss of funds? What if a vulnerability in the Solidity compiler is discovered? Here’s what you’d need to do to fix a bug in a contract you cannot upgrade: - Deploy a new version of the contract -- Manually migrate all state from the old one contract to the new one (which can be very expensive in terms of gas fees!) +- Manually migrate all the states from the old one contract to the new one (which can be very expensive in terms of gas fees!) - Update all contracts that interacted with the old contract to use the address of the new one - Reach out to all your users and convince them to start using the new deployment (and handle both contracts being used simultaneously, as users are slow to migrate) @@ -18,7 +18,7 @@ There are several approaches that allow us to make some changes to smart contrac **Separate logic and data** -By using this approach, data will be read from a designated data contract directly. This is a rather common approach that is also used outside of Solidity. One of the main disadvantages of this approach is that you cannot change the interface of contracts external to the entire system, and you cannot add or remove functions. +By using this approach, data will be read from a designated data contract directly. This is a relatively common approach that is also used outside of Solidity. One of the main disadvantages of this approach is that you cannot change the interface of contracts external to the entire system, and you cannot add or remove functions. **Delegatecall Proxy** @@ -43,7 +43,7 @@ pragma solidity ^0.6.0; ``` OpenZeppelin Upgrades provides an Initializable base contract that has an initializer modifier to prevent a contract from being *initialized* multiple times: -https://github.com/binance-chain/canonical-upgradeable-bep20/blob/47ed7a710e6e86bdc85f2118bf63fc892e3b7716/contracts/BEP20TokenImplementation.sol#L37 +https://github.com/bnb-chain/canonical-upgradeable-bep20/blob/47ed7a710e6e86bdc85f2118bf63fc892e3b7716/contracts/BEP20TokenImplementation.sol#L37 ```javascript /** @@ -60,7 +60,7 @@ function initialize(string memory name, string memory symbol, uint8 decimals, ui ``` BEP20 contract initializes the token’s name, symbol, and decimals in its constructor. You should not use these contracts in your BEP20 Upgrades contract. , make sure to use the `upgradableBEP20implementation` that has been modified to use initializers instead of constructors. -https://github.com/binance-chain/bsc-genesis-contract/blob/42922472b43397fbca9d0c84c7f72fbfaf39efc3/contracts/bep20_template/BEP20Token.template#L351 +https://github.com/bnb-chain/bsc-genesis-contract/blob/42922472b43397fbca9d0c84c7f72fbfaf39efc3/contracts/bep20_template/BEP20Token.template#L351 ```javascript constructor() public { @@ -102,7 +102,7 @@ npx truffle init ### Create upgradeable contract This example token has a fixed supply that is minted to the deployer of the contract. -https://github.com/binance-chain/canonical-upgradeable-bep20/blob/master/contracts/BEP20TokenImplementation.sol +https://github.com/bnb-chain/canonical-upgradeable-bep20/blob/master/contracts/BEP20TokenImplementation.sol ```javascript const BEP20TokenImplementation = artifacts.require("BEP20TokenImplementation");const BEP20TokenFactory = artifacts.require("BEP20TokenFactory"); diff --git a/docs/remix.md b/docs/remix.md index a99d977..63a9823 100644 --- a/docs/remix.md +++ b/docs/remix.md @@ -10,7 +10,7 @@ Deploys a BEP20 smart contract with a message, and renders it in the front-end. This dapp implements a "Hello World" style application that echoes a message passed to the contract to the front end. This tutorial is intended to be followed using the online IDE available at [Remix IDE](https://remix.ethereum.org/). -### Setting up [Remix IDE](https://remix.ethereum.org/) +### Setting Up [Remix IDE](https://remix.ethereum.org/) - Remix is an online IDE to develop smart contracts. - You need to choose Solidity Compiler and Deploy and Run Transactions. @@ -23,7 +23,7 @@ This dapp implements a "Hello World" style application that echoes a message pas - Copy/Paste the Smart contract below into the newly created file `MegaCoin.sol` -## The smart contract +## Writing the Smart Contract - Create new contract BEP20Token.sol and copy contract code from the bep20 token template [here](../BEP20Token.template) diff --git a/docs/rpc.md b/docs/rpc.md index 2c653b8..6bb6e32 100644 --- a/docs/rpc.md +++ b/docs/rpc.md @@ -1,8 +1,7 @@ --- sidebar_label: RPC -sidebar_position: 2 -hide_table_of_contents: false --- + # JSON-RPC Endpoint ## Available Resources @@ -20,26 +19,7 @@ Recommend * https://bsc-dataseed.binance.org/ * https://bsc-dataseed1.defibit.io/ * https://bsc-dataseed1.ninicoin.io/ - - -Backups - -* https://bsc-dataseed2.defibit.io/ -* https://bsc-dataseed3.defibit.io/ -* https://bsc-dataseed4.defibit.io/ -* https://bsc-dataseed2.ninicoin.io/ -* https://bsc-dataseed3.ninicoin.io/ -* https://bsc-dataseed4.ninicoin.io/ -* https://bsc-dataseed1.binance.org/ -* https://bsc-dataseed2.binance.org/ -* https://bsc-dataseed3.binance.org/ -* https://bsc-dataseed4.binance.org/ - -BSC Websocket Endpoints: - -*Note: provided by community with no quality promised, building your node should be always the long term goal* - -* wss://bsc-ws-node.nariox.org:443 +* https://bsc.nodereal.io BC RPC Endpoints: @@ -79,24 +59,26 @@ BC RPC Endpoints: ### Rate limit -The rate limit of BSC endpoint on Testnet and Mainnet is 10K/5min. +The rate limit of BSC endpoint on Testnet and Mainnet is 8K/5min. ### 3rd Party Provider -* [Moralis](https://moralis.io/): + -* ANKR: +* [ANKR](https://app.ankr.com/api): * [Chainstack](https://chainstack.com/): * [GetBlock.io](https://getblock.io/): -* QuickNode : +* [QuickNode](https://quicknode.com) : -* [NodeReal](https://nodereal.io/): +* [NodeReal](https://nodereal.io/): + +* [BlockVision](https://docs.blockvision.org/blockvision/): -## Start +## Start HTTP JSON-RPC You can start the HTTP JSON-RPC with the --rpc flag ```bash diff --git a/docs/stake/Staking.md b/docs/stake/Staking.md index cd12868..8f9de1b 100644 --- a/docs/stake/Staking.md +++ b/docs/stake/Staking.md @@ -25,11 +25,7 @@ Validators are ranked by their power and operator address. The more its delegati ## Reward Distrubution -Since BSC uses PoSA as its consensus engine, all the delegators of validators can receive some share of the validators’ reward. - -However, the rewards(fees) are collected on BSC while the staking info is stored on BC. - -So the main idea is we transfer all the rewards from BSC to BC once every day and execute the distribution on BC. +Since BSC uses PoSA as its consensus engine, all the delegators of validators can receive some share of the validators’ reward. However, the rewards(fees) are collected on BSC while the staking info is stored on BC. So, the main idea is we transfer all the rewards from BSC to BC once every day and execute the distribution on BC. ### Main Workflow: 1. ValidatorSet is updated in BreatheBlock, the frequency is once a day. let’s assume it happens on day N. diff --git a/docs/stake/cli-commands.md b/docs/stake/cli-commands.md index 776edb5..8c176f7 100644 --- a/docs/stake/cli-commands.md +++ b/docs/stake/cli-commands.md @@ -4,10 +4,10 @@ In order to run the CLI commands related to staking and delegation, it important to first download the `bnbcli` and `tbnbcli` binaries. ### Download Binaries ### For Mainnet -Please download `bnbcli` binary from [here](https://github.com/binance-chain/node-binary/tree/master/cli/prod) +Please download `bnbcli` binary from [here](https://github.com/bnb-chain/node-binary/tree/master/cli/prod) ### For Testnet -Please download `tbnbcli` binary from [here](https://github.com/binance-chain/node-binary/tree/master/cli/testnet) +Please download `tbnbcli` binary from [here](https://github.com/bnb-chain/node-binary/tree/master/cli/testnet) ## Create BSC Validator @@ -430,7 +430,7 @@ bnbcli staking side-pool --side-chain-id=bsc --chain-id=Binance-Chain-Tigris bnbcli staking side-top-validators --top 10 --side-chain-id=bsc --chain-id=Binance-Chain-Tigris --home ~/home_cli ``` -## Query side chain validators count +## Query side chain validators count ### Parameters for staking side-validators-count diff --git a/docs/staking-with-ext-wallet.md b/docs/staking-with-ext-wallet.md index b11b625..d9ebbca 100644 --- a/docs/staking-with-ext-wallet.md +++ b/docs/staking-with-ext-wallet.md @@ -1,19 +1,19 @@ --- sidebar_label: Staking sidebar_position: 2 -hide_table_of_contents: true +hide_table_of_contents: false --- -# Staking with extension wallet +# Staking with Binance Extension Wallet -## How to delegate your BNB with extension wallet +## How to Delegate Your BNB with Binance Extension Wallet -- [Install BNB Chain extension wallet](binance.md) +- [Install Binance Extension Wallet](binance.md) - Go to the staking page: - Mainnet: - - Testnet: + - Testnet: **Testnet example** @@ -35,19 +35,19 @@ hide_table_of_contents: true ![img](https://lh5.googleusercontent.com/U_ji1L_LgRaxKmRHFvvUwtiOb7SXqTZ6GrMiqvK2gR_aS21bVTqgTHp2aF207pKxfZaYd38QFvRau20n8zbd_MZ1_6ktWEoXYbRrf6vSUdp2W1yWfwqWFqbhjvrbGiX1YRMzJj7b) -**Success** +- Upon **Success** you will see a similar output ![img](https://lh5.googleusercontent.com/avie7-_5sa8jnI8XdFa1EytOMB9pZVULKQntno3hk3w3MuWJtwE9WNYayKTA0W7mymtJLG5mKZFk42TvUyGa_qSAi5rIH88LL2riKln35loCEHl3ntaqZEspWwUMbOgPdZbhOSp6) -- your delegation overview +- Your delegation overview ![img](https://lh4.googleusercontent.com/m8hyetwRYQS-HLcubdSkuhjAAFDyWQptswGJKUWaAwcK-m1yVblM-5pXL599ogLJ1DjkKUo75WOzt6JUDxrnUNwNANDa1ZpuyHxlDxRg7enDF8jkhF70SkWeAPq6hAARAcphlaKw) -You can see the staking history here +- You can also see the staking history ![img](https://lh5.googleusercontent.com/P3TMkfcn75wK5-DUQNcxl9XGRPhSYFZR561Ov6ko3jH_gnTImh561tYk0keFORWCET28LxhnnU2iChX2CzZd1a0R4tH4_GMKziRpsZWRtHhZeFmi5MF-WE9g0XcWkzLHSxwQggVu) -## How to redelegate your BNB with extension wallet +## How to Redelegate Your BNB With Binance Extension Wallet By staking you BNB, you participate in the selection process of BNB Smart Chain validators and earn rewards. Staking BNB is critical for securing the network. Validators can self-bond, meaning they can delegate BNB to themselves, and they can also receive delegations from any other BNB holders. @@ -57,7 +57,7 @@ Redelegations between a unique delegator, source validator, and destination vali ![img](https://lh3.googleusercontent.com/mgnbGGdmvIfMyj5_cWTwOtaN-8uQn8t7hBaP5cZ297MH6-KE-v_pWRNl-sGjecPRp-K7eoKa4BvEFLYBvOxoPlO9Weq6RDijN2xvGC6-VhS8poycBwkOSOKGjtmw0jj-S1NdWsB-) -- Select a new validator and redegelate amount +- Select a new validator and the redegelation amount ![img](https://lh4.googleusercontent.com/sQ23rDrcUIccCmjwHp0jgHRqgkJwm_nkPH2cvHiL5guqj3Xk-1VfPxbM_Okx_zCrJswFoaWq03fwFh0ATLKvEvVM-OmgVheFCNHbrK9Plw4tmilNO7UFSLYVBUjExSyrskiuNsPs) @@ -65,7 +65,7 @@ Redelegations between a unique delegator, source validator, and destination vali ![img](https://lh6.googleusercontent.com/fSkKxBxzsGcbnKrflFG-mEysjAVV7a4MqbImMKQgN6jgEbvcOLoMET5nWK7rUEEev-9iNTPeqqQb-Vxgk3wXB9WFkA4OHtIkz9VI5mBPmAXxAiIkTYZgs2bTgib-kmnlWeSK0ZpH) -**Success** +- Upon **Success** you will see a similar output ![img](https://lh5.googleusercontent.com/SyWHb2uqlxzZcwCLULNTuSAunBTIYrbidK_JEu7xSwmAIFViv8rScXp6ogoJKWPmduqKcOuM_ypt1RPtzgG0L9fIqoEHvtREuVSrYNTRTHuJmIWoz_qJU9O4HppOZ3DmxkRG6gqr) @@ -74,7 +74,7 @@ Redelegations between a unique delegator, source validator, and destination vali ![img](https://lh6.googleusercontent.com/O1FC9Fas2TSwootvC7HoJKR2O6dOLpxsKtf9px-k7DLlsZHNWuyJ_fQkvWEvtRQQNBxbP5iKN1EHbbj1SD3RQXYeh_vFYzlISAfBkErbvDmTU_hprGw3dTamm9Pmfzr84Kh7A3hm) -## How to undelegate your BNB with extension wallet +## How to Undelegate Your BNB with Binance Extension Wallet - Click on undelegate @@ -89,7 +89,7 @@ Redelegations between a unique delegator, source validator, and destination vali ![img](https://lh6.googleusercontent.com/2BBgV-Em4WudnNIeYPHGqxNSYKL0W-jW6-MFZ0L4sC7xl7TVSIccV6lslr6uJrnP28W9D7O9Qkr5MUhLp48aew1-tI-pD8gW_1aorPr7BX8l9v75zd9KaXWV1U3bzwjN4yyxAA0o) -**Success** +- Upon **Success** you will see a similar output ![img](https://lh3.googleusercontent.com/KneZHA6Hkm1SudGWIR-7Vl8F5N2tlj7QTQ5-f-Twyn79RgsoFPhBBIkwrVl5OLOYbbRSYXQ4gguJUqlczSiW7qGarqN-Kag6NyC7eD3P8-2QCOX6f0YGDJrWQnDRDOw0ElkCkAgM) diff --git a/docs/sync.md b/docs/sync.md index aec8010..6f04d88 100644 --- a/docs/sync.md +++ b/docs/sync.md @@ -33,7 +33,7 @@ Both `syncFee` and `relayFee` can be changed by on-chain governance To query `syncFee` from system contract; -- Call `Tokenmanager` [Contract](https://testnet.bscscan.com/address/0x0000000000000000000000000000000000001008#writeContract) with the latest [ABI](https://github.com/binance-chain/bsc-genesis-contract/blob/master/abi/tokenmanager.abi ) +- Call `Tokenmanager` [Contract](https://testnet.bscscan.com/address/0x0000000000000000000000000000000000001008#writeContract) with the latest [ABI](https://github.com/bnb-chain/bsc-genesis-contract/blob/master/abi/tokenmanager.abi ) - Query `syncFee` function @@ -41,7 +41,7 @@ Fee= result/1e18 To query `relayFee` from system contract; -- Call `TokenHub` [Contract](https://testnet.bscscan.com/address/0x0000000000000000000000000000000000001008#writeContract) with the latest [ABI](https://github.com/binance-chain/bsc-genesis-contract/blob/master/abi/tokenhub.abi ) +- Call `TokenHub` [Contract](https://testnet.bscscan.com/address/0x0000000000000000000000000000000000001008#writeContract) with the latest [ABI](https://github.com/bnb-chain/bsc-genesis-contract/blob/master/abi/tokenhub.abi ) - Query `getMiniRelayFee` function @@ -51,7 +51,7 @@ Fee= result/1e18 - Call `Tokenmanager` Contract -Use the latest [ABI](https://github.com/binance-chain/bsc-genesis-contract/blob/master/abi/tokenmanager.abi ) +Use the latest [ABI](https://github.com/bnb-chain/bsc-genesis-contract/blob/master/abi/tokenmanager.abi ) ![img](https://lh5.googleusercontent.com/SYyvWVcLHELSE72JSXqBwMJB6Y50jMz5HgH6irmCbyxGwr-W_Hz-vbm4IqWXAqE2hvCAXaqNKfs28ZhGFtMrMrDgWvDfEkHPunnSuxSKPpLBtuxmiX-b5yRjfczENJxKDrqSAYWy) diff --git a/docs/token-bind-tool.md b/docs/token-bind-tool.md index c06f6c1..fd43ac4 100644 --- a/docs/token-bind-tool.md +++ b/docs/token-bind-tool.md @@ -6,7 +6,7 @@ sidebar_position: 2 # token-bind-tool -Tool to bind BEP2 tokens and BEP20 tokens. please refer to [document](https://docs.binance.org/smart-chain/developer/bind-tokens.html) for detail bind mechanism. Github repo for bind token tool [here](https://github.com/binance-chain/token-bind-tool.git). +Tool to bind BEP2 tokens and BEP20 tokens. please refer to [document](https://docs.bnbchain.org/docs/bind-tokens) for detail bind mechanism. Github repo for bind token tool [here](https://github.com/bnb-chain/token-bind-tool.git). ## Compile @@ -62,7 +62,7 @@ Suppose you have already issued a BEP2 token, and you want to deploy a BEP20 tok 2. Prepare BEP20 contract code - 2.1 You can refer to [BEP20 Template](https://github.com/binance-chain/bsc-genesis-contract/blob/master/contracts/bep20_template/BEP20Token.template) and modify it according to your own requirements. + 2.1 You can refer to [BEP20 Template](https://github.com/bnb-chain/bsc-genesis-contract/blob/master/contracts/bep20_template/BEP20Token.template) and modify it according to your own requirements. **NOTE 1:** Ensure the BEP20 symbol is identical to the prefix of a BEP2 token symbol. Suppose a BEP2 token symbol is `ABC-123`, then the BEP20 symbol must be `ABC`. @@ -71,7 +71,7 @@ Suppose you have already issued a BEP2 token, and you want to deploy a BEP20 tok **NOTE 3:** If your BEP2 token is mintable, then you'd better implement `mint` in BEP20 contract. Otherwise, you'd better remove `mint` in BEP20 contract. 2.2 Compile your contract with [Remix](https://remix.ethereum.org) and get contract byte code: - ![img](https://github.com/binance-chain/token-bind-tool/blob/master/pictures/compile.png?raw=true) + ![img](https://github.com/bnb-chain/token-bind-tool/blob/master/pictures/compile.png?raw=true) 3. Edit `script/contract.json` to add contract byte code: diff --git a/docs/tokens-cross-chain.md b/docs/tokens-cross-chain.md index 1eae8f1..acfb643 100644 --- a/docs/tokens-cross-chain.md +++ b/docs/tokens-cross-chain.md @@ -14,7 +14,7 @@ BNB Smart Chain and Beacon Chain work together to ensure that one token can circ If you are BEP2/BEP9 token owner, please follow this [guideline](./bind-tokens.md) to complete `Bind` process when you wish to migrate to BSC. -You can also use this [tool](https://github.com/binance-chain/token-bind-tool). +You can also use this [tool](https://github.com/bnb-chain/token-bind-tool). @@ -24,13 +24,13 @@ You can also use this [tool](https://github.com/binance-chain/token-bind-tool). If you are BEP20 token owner or anybody else, please follow this [guideline](./mirror.md) to complete `Mirror` process when you wish to migrate to BC or get listed on Binance DEX. -## Comparision Between Bind and Mirror +## Comparison Between Bind and Mirror | | Bind | Mirror | | ----------------- | ------------- | -------------------------------------- | | Initiator | BEP2/BEP8 Token Owner | Anyone, including BEP20 Token Owner and others | | Fee | less than 1BNB | about 100 BNB, `mirrorFee` is a governable parameter | | How long will it take | several minutes | ~30s | -| Supply Distribution | Customized between BC & BSC | All supply are on BSC| +| Supply Distribution | Customized between BC & BSC | All supplies are on BSC| diff --git a/docs/tokens.md b/docs/tokens.md index c8bc900..46e32df 100644 --- a/docs/tokens.md +++ b/docs/tokens.md @@ -1,7 +1,7 @@ # Asset Management ## Introduction -Assets are stored as `tokens` on Beacon Chain, and the below management actions are available. All the assets are complied with [BEP2](https://github.com/binance-chain/BEPs/blob/master/BEP2.md). +Assets are stored as `tokens` on Beacon Chain, and the below management actions are available. All the assets are complied with [BEP2](https://github.com/bnb-chain/BEPs/blob/master/BEP2.md). The [fees](trading-spec.md#fees) that are due must be paid in BNB before any of these operations can be executed. The fees for testnet and mainnet are different. @@ -15,7 +15,7 @@ The [fees](trading-spec.md#fees) that are due must be paid in BNB before any of An issuance transaction contains: -> Note: [BEP87](https://github.com/binance-chain/BEPs/pull/87) is implemented after Lagrange Upgrade. It changes the minimal symbol length to **two** +> Note: [BEP87](https://github.com/bnb-chain/BEPs/pull/87) is implemented after Lagrange Upgrade. It changes the minimal symbol length to **two** * Source Address: the sender address of the transaction and it will become the `owner` of the token, all created tokens will be in this account. * Token Name: it is the long official name, such as "Binance Coin". It is limited to 32 characters. @@ -110,7 +110,7 @@ Example on **testnet**: ## TransferOwnership -> Note: [BEP82](https://github.com/binance-chain/BEPs/pull/82) is implemented after Lagrange Upgrade to add this new transactionn type. +> Note: [BEP82](https://github.com/bnb-chain/BEPs/pull/82) is implemented after Lagrange Upgrade to add this new transactionn type. **0.01 BNB** will be charged on **TransferOwnership** transactions. diff --git a/docs/trading-spec.md b/docs/trading-spec.md index 9ec76ca..de4a99e 100644 --- a/docs/trading-spec.md +++ b/docs/trading-spec.md @@ -5,16 +5,16 @@ Orders are the requests for client to buy or sell tokens into other tokens on Binance DEX. It is a standard type of Beacon Chain transaction. Orders are composed of the below parameters. -0. Symbol Pairs: the list pair the order wants to trade. -1. Order Type: Binance DEX only accept LIMIT orders, which is adhering to SEC definitions of LIMIT orders -2. Price: price users would like to pay for the specified token quantity, presented as a float +1. Symbol Pairs: the list pair the order wants to trade. +2. Order Type: Binance DEX only accept LIMIT orders, which is adhering to SEC definitions of LIMIT orders +3. Price: price users would like to pay for the specified token quantity, presented as a float number of quote currency. This must be rounded by tick size. Internally it can be multiplied by 1e8(10^8) in order to store as an integer in the range of int64. -3. Quantity: number of tokens users want to buy or sell. That must be rounded by lot size. Internally it can be multiplied by +4. Quantity: number of tokens users want to buy or sell. That must be rounded by lot size. Internally it can be multiplied by 1e8(10^8) in order to store as an integer in the range of int64. -4. Side: buy or sell -5. Time: entry time of the order, which is the block number(height) the order gets booked in. -6. TimeInForce: +5. Side: buy or sell +6. Time: entry time of the order, which is the block number(height) the order gets booked in. +7. TimeInForce: * GTE: Good Till Expire. Order would stay effective until expire time. Order may expire in the UTC midnight after more than 259, 200 blocks, which is 72 hours in term of blocking time. * IOC: Immediate or Cancel. Orders would be executed as much as it can in the booking block @@ -59,7 +59,7 @@ For GTE order, if a GTE order can execute against another order as a whole, the Order would expire after 72 hours once it is booked on a block. A whole order book scan would happen every UTC mid-night to filter out all the expired orders. After the scan, all the expired orders would be removed from the order book, the locked quantity in the account would be unlocked. Before this action all the existing orders in the order book is subject to matching. !!! Tip - As discussed in [BEP-67](https://github.com/binance-chain/BEPs/blob/master/BEP67.md), those orders in the best 500 price levels on both ask and bid side will be expired after **30 days** instead of 72 hours. Meanwhile, the expiration fee is unchanged. BEP67 is already implemented and has been activated after Testnet Nightingale Upgrade. Beacon Chain Mainnet will be upgraded to support BEP-67 soon. + As discussed in [BEP-67](https://https://github.com/bnb-chain/BEPs/blob/master/BEP67.md), those orders in the best 500 price levels on both ask and bid side will be expired after **30 days** instead of 72 hours. Meanwhile, the expiration fee is unchanged. BEP67 is already implemented and has been activated after Testnet Nightingale Upgrade. Beacon Chain Mainnet will be upgraded to support BEP-67 soon. ## Precision diff --git a/docs/tutorials.md b/docs/tutorials.md deleted file mode 100644 index f2645ce..0000000 --- a/docs/tutorials.md +++ /dev/null @@ -1,62 +0,0 @@ ---- -sidebar_label: Tutorials -hide_table_of_contents: false ---- - -# Tutorials -In this section, we have provided tutorials on usage of different components of BNB Chain. - -## Platform -- **BNB Smart Chain** - * Tutorial on [How to Join BNB Smart Chain Mainnet as Validator](validator/guideline-mainnet.md) - * Tutorial on [How to Join BNB Smart Chain Testnet as Validator](validator/guideline-testnet.md) - * Tutorial on [How to Create a Validator on BNB Smart Chain Testnet](validator/testnet.md) - * Tutorial on [How to run a Full Node on BNB Smart Chain](validator/fullnode.md) - * Tutorial on [How to run a Local BNB Smart Chain Network](local.md) - * Tutorial on [How to Upgrade Geth (Full Node) on BNB Smart Chain](validator/upgrade-fullnode.md) - -- **BNB Beacon Chain** - * Tutorial on [How to Run Full Node on BNB Beacon Chain Mainnet](beaconchain/develop/node/join-mainnet.md) - * Tutorial on [How to Run Full Node on BNB Beacon Chain Testnet](beaconchain/develop/node/join-testnet.md) - * Tutorial on [How to Get Extra Info from your Full Node](beaconchain/develop/node/extra-info.md) - * Tutorial on [How to Upgrade your Full Node on BNB Beacon Chain](beaconchain/develop/node/upgrade.md) - * Tutorial on [How to Run a Single Node on a Local Network](beaconchain/develop/node/local-network) - * Tutorial on [How to Run BNB Beacon Chain Client](beaconchain/develop/api-reference/cli.md) - * Tutorial on [How to Run Light Client on BNB Beacon Chain](beaconchain/light-client.md) - -## Staking and Delegation -- Tutorial on [How to Stake BNB Tokens on BSC](staking-with-ext-wallet.md) -- Tutorial on [How to Delegate BNB Tokens on BSC](del-guide.md) - -## Smart Contracts -- Tutorial on [How to Write BEP20 (Proxy) Contacts](proxy.md) -- Tutorial on [How to Verify BEP20 (Proxy) Contacts](verify-proxy.md) -- Tutorial on How to Deploy and Test Smart Contracts on BSC - * [Using Remix](remix.md) - * [Using Truffle](truffle-new.md) - * [Using HardHat](hardhat-new.md) -- Tutorial on [How to Verify Deployed Smart Contract on bscScan](verify.md) - -## Smart Digital Assets -- **BEP Tokens** - * Tutorial on [How to issue BEP20 Tokens](issue-BEP20.md) - * Tutorial on [How to Bind BEP2 and BEP20 Tokens](bind-tokens.md) - * Tutorial on [How to Mirror BEP2 and BEP20 Tokens](mirror.md) - * Tutorial on [How to Sync BEP2 and BEP20 Supply](sync.md) - * Tutorial on [How to perform Cross-Chain Transfer of BEP2 and BEP20 Tokens Between BC and BSC](cross-chain-transfer.md) - -- **NFT** - * Tutorial on [How to implement Token URI](develop/../nft-metadata-standard.md) - * Tutorial on [How to deploy NFTs on BSC](ERC721.md) - -## Wallets -- **BNB Smart Chain** - * Please refer [here](wallets/wallet-tutorial-overview.md) for list of tutorials on different supported wallets. - -- **BNB Beacon Chain** - * [List of Supported Wallets](beaconchain/wallets) - * Tutorial on [How to Use Trust Wallet with Beaon Chain](beaconchain/wallet/tutorial/how-to-create-a-wallet-on-trustwallet) - * Tutorial on [How to Use Ledger Nano S Hardware Wallet with Beacon Chain](beaconchain/wallet/tutorial/ledger-nano-s-usage-guide) - * Tutorial on [How to Use Trezor Hardware Wallet with Beacon Chain](beaconchain/wallet/tutorial/trezor-model-t-user-guide) - * Tutorial on [How to manage your BEP8 tokens in BNB Chain Testnet Web Wallet](beaconchain/wallet/tutorial/bep8) - diff --git a/docs/upgrade-fullnode.md b/docs/upgrade-fullnode.md index 43b5fbe..e1b6ad2 100644 --- a/docs/upgrade-fullnode.md +++ b/docs/upgrade-fullnode.md @@ -5,7 +5,7 @@ Updating `geth` is as easy as it gets. You just need to download and install the ## Step 1: Compile the new version ```bash -git clone https://github.com/binance-chain/bsc +git clone https://github.com/bnb-chain/bsc # Enter the folder bsc was cloned into cd bsc # Comile and install bsc diff --git a/docs/validator/Binance Smart Chain Validator FAQs - Updated.md b/docs/validator/Binance Smart Chain Validator FAQs - Updated.md deleted file mode 100644 index 8a7f28d..0000000 --- a/docs/validator/Binance Smart Chain Validator FAQs - Updated.md +++ /dev/null @@ -1,210 +0,0 @@ -# BNB Smart Chain Validator FAQs - -## How does a validator node work? - -It powers the blockchain network by processing transactions and signing blocks. - -## What are the incentives to run a validator node? - -Validators and delegators will earn rewards from transaction fees: dApp usages. - -## What's on-chain governance proposal? - -The proposal will decide: slash amount, cross-chain transfer fees. - -## How to join testnet as a validator? - - 1. Choose your own server/PC. - 2. Install software. - 3. Create a wallet and get some BNB. - 4. Run your fullnode and keep it synced. - 5. Stake your BNB on BC, the top 21 most staked nodes to be the validator set. - -## How to join mainnet as a validator? - - 1. Choose your own server/PC - 2. Install software - 3. Create a wallet and get some BNB - 4. Run your fullnode and keep it synced - 5. Stake your BNB on BC, the top 21 most staked nodes to be the validator set" - -## What are hardware requirements of running a validator node? - -Processing transactions is mostly CPU bound. Therefore we recommend running CPU optimized servers. - - * Directly facing internet (public IP, no NAT) - - * 8 cores CPU - - * 16GB of RAM - - * 500 SSD storage" - -## How many BNB are required to create a validator? - -Validators can self-bond, meaning they can delegate BNB to themselves, and they can also receive delegations from any other BNB holders. These bonded BNB acts as collateral and cause each delegate, including validators, to have “skin in the game” so to speak. If any equivocation or byzantine behavior by a validator were to be committed, the validator and its delegates would be slashed a predefined amount of bonded stake. The minimum self-delegated amount is 10000BNB. - -## When are rewards paid out? - -The rewards will not be sent to validator right away, instead, they will be distributed and accumulated on a contract. The reward distribution happens on BC around every day UTC 00:00. - -## What's the potential loss for validators? - -Validators can suffer from “Slashing”, a punishment for their bad behaviors, such as double sign and/or instability. Such loss will not be shared by their delegators. -Slashing is a punitive function that is triggered by a validator ’s bad actions. Getting slashed is losing self delegation of a validator. Validators will be slashed for the actions below: - - * Going offline or unable to communicate with the network. - - * Double signing: If a validator node tries to split the network by signing two different blocks and broadcasting them, it will be removed from validator set definitely. - -## What is the process of getting selected as a validator node on BSC? - -On BNB Smart Chain (BSC) network, validators are responsible for securing the network by processing transactions and signing blocks. Validator nodes are incentivized in the form of transaction fees for their good behavior. Currently, there are 11 validators on the testnest and 21 active and 20 candidate validators on the mainnet. Validators are selected every 24 hours. Anyone can become a candidate for the validator. To become part of the selection process of validators, the nodes have to stake their BNB. Validators can self-delegate (self-bound) BNB to themselves and can also receive delegations from any other BNB holders. The minimum amount for self-delegation is **10000BNB**. Only the top 21 highest-stake nodes are chosen to be part of the validator set. Get more details [here](https://docs.binance.org/smart-chain/validator/overview.html). - -## How is the bad or malicious behavior of the validator nodes controlled in the BSC? - -One of the important on-chain governance implementations is the technique of “slashing” along with jailing. When jailed validator cannot participate in the consensus mechanism or earn rewards for set period of time. Slashing ensures that validators who act maliciously or show bad behavior are punished. Furthermore, it is designed to expose any attacker and make execution of their attempts extremely expensive. Anyone can submit BSC slash request. Even though BSC slash request requires slash evidence and transaction cost fees, huge reward is given in case the request is successful. To ensure that the delegators are not punished for the validator’s bad behavior, only the self-bonded BNB of the validator are slashed. Currently, slashing is applied on any node that processes an invalid transaction, performs double-signing or is unavailable for a defined period of time. - -## What are the two slashable cases? - -The validators are slashed in cases of self-bound less than the required minimum, double singing, and unavailability. - -*_Double Signing:_* refers to an event when a validator node proposes two different blocks at the same block height. A validator will be removed from the validator set definitely, if they try signing two different blocks and broadcasting them. For a BSC slash request for double signing the supporting evidence should indicate two block headers having same block height and same parent block hash sealed by the same validator. Two signatures of these two blocks must not be the same. The time of these two blocks must be within the validity of the evidence, which is 24 hours. Rewards for submitting double-sign evidence is **1000BNB**. In case the provided evidence are valid, the validators face a slashing of **10000BNB** from their self-delegated BNB and will be ‘jailed’ for a time period of 7 days. - -*_Unavailability/ Downtime in a 24 hour period:_* the slash fee for a validator being offline is self-delegated **50BNB** accompanied with a jail time of 2 days. If a validator misses at least 50 blocks (~52 minutes of downtime) during 24 hours, they will not be able to receive any rewards during that period of time. -Instead their reward will be distributed amongst other better performing validators of the set. Another case of unavailability is when a validator misses over 150 blocks (~157.5 minutes of downtime) during 24 hours. In this case, the validator will not receive reward instead it will be propagated back to BC. - -*_Self‐bond below minimum:_* Validators are jailed for 1 day if their self‐bond falls below **10000BNB**. - -## What is the minimum amount for self-delegation to avoid being jailed? - -The [minimum self-delegated amount](Parameters.md) is **10000BNB**. - -## What is the unbounding time period? - -Unbonding time: 7 days - -## What is the unjail fees for a validator jailed for being offline? What is the offline jail time period? - -offline Unjail fee: 1BNB - -offline Jailed time: 2 days. A validator can only unjail 2 days later after it has been jailed - -## What is the slashing amount charged to the validators for being offline and double signing? - -offline slashing amount: 50BNB - -Double-sign slashing amount: 10000BNB - -## Where can you monitor the slash contract? - -The slash contract can be monitored on the BSC scanner on the following link - -https://bscscan.com/address/0x0000000000000000000000000000000000001001#events - -## Does an inactive validator receive any rewards? - -No, they will not. - -## Can I receive my staking rewards if my chosen validator is inactive? - -No, you cannot. - -## When can I receive my unstaked BNB? - -After you sent `undelegate` transaction, you have to wait 7 days. This period starts at UTC 00:00 next day. - -## How to get un-jailed? -Validator nodes that have been jailed due to their malicious or bad behavior can be set to ‘unjailed’ by sending a side-unjail transaction if the validation passed. Furthermore, when unjailed, to join the validator set again, the validator must wait for the next UTC 0:00. The fees to un-jail a smart contract validator is **1BNB**. Whereas, the fee for submitting a byzantine behavior evidence of a validator is **10BNB**. - -_Example:_ - -~~~~ -bnbcli slashing side-unjail --side-chain-id=bsc –node http://dataseed4.binance.org:80 --chain-id=Binance-Chain-Tigris --trust-node --output=json --from {the address of the validaator operator} -~~~~ - -## What is 'self-delegation'? How can I increase my 'self-delegation'? - -Self-delegation is delegation from a validator to themselves. This amount can be increases by sending a delegate transaction from your validator's operator address. - -## What is the command to prune? - - * Stop the node gracefully - - * Run `nohup geth snapshot prune-state --datadir {the data dir of your bsc node} &` - - * Wait for 5-6 hours to finish, it depends on the size of current storage - -## What to do if one can’t run prune-state command In the event when running the geth snapshot `prune-state --datadir /chaindata` on geth 1.1.5 return the following error - -~~~~ -ERROR[11-02|06:02:55.001] Failed to open snapshot tree err="head doesn't -match snapshot: have 0x5c17a8fc0164dabedd446e954b64e8a54fc7c8b4fee1bbd707c3cc3ed1e45fff, want 0x431565cee8b7f3d7bbdde1265304fa4574dc3531e511e9ffe43ae79d28e431d6" head doesn't match snapshot: have 0x5c17a8fc0164dabedd446e954b64e8a54fc7c8b4fee1bbd707c3cc3ed1e45fff, want 0x431565cee8b7f3 -~~~~ - -This error occurs due to data corruption. You can run geth snapshot verify-state to double confirm whether the data is correct. You can download the latest snapshot from https://github.com/binance-chain/bsc-snapshots. By doing that, you don't have to prune-state in the future, save precious disk IO, it will help you keep up with syncing. - -## What to do if Sync is slow on running the following command - -~~~~ -*_start order: geth --config ./config.toml --datadir /data/server/data-seed/ --cache 20000 --rpc.allow-unprotected-txs --syncmode snap –diffsync --txlookuplimit 0_* -~~~~ - -Try pruning the state -- stop geth, then run geth --datadir=node snapshot prune-state. Assuming that datadir is node, change that if it's elsewhere then restart after it's done. Follow https://github.com/binance-chain/bsc/issues/502 to get more tips about how to maintain a synced node. - -## How to start the geth node through snapshot to get node synced? - -The two biggest bottlenecks are CPU and IOPS when syncing. Steps are as follows: download geth 1.1.5 and make it executable, optionally move it `/usr/local/bin/geth` - - * download mainnet.zip and unzip - - * generate genesis using command below, will also create a mainnet folder for blockchain data ./geth_linux --datadir mainnet init genesis.json - - * download the 14 nov 2021 snapshot - - * extract snapshot - - * move snapshot data to mainnet folder - `rm -rf mainnet/geth/chaindata` - - `rm -rf mainnet/geth/triecache` - - `mv server/data-seed/geth/chaindata mainnet/geth/chaindata` - - `mv server/data-seed/geth/triecache mainnet/geth/triecache` - -[Optional] Open config.toml and delete the Node Log section, just useful for getting logs straight on the terminal or just use tail to look at the logs - -[Optional] Create a service or use screen to run the command below, so it doesn't stop if you are using SSH. -Run screen then press enter, anytime you lose connection via ssh, run screen -r to get back the "screen/terminal" where geth was running Geth Command - -`geth --config ./config.toml –datadir ./mainnet --cache 100000 --rpc.allow-unprotected-txs --txlookuplimit 0 --http --maxpeers 100 –ws --syncmode=full --snapshot=false –diffsync` - -## What are the few adjustments that can help resolve sync issues? - - * Keep maxpeers at around 30. Either Too large or too less is not suggested - - * Enable snapshot, snapshot is another format of state world, it is designed to improve the performance. You can always set it to true. - - * Upgrade to 1.1.5 and diffsync is enabled - - * Try to reduce amount of peers to 30-50 (more peers need more resources) and make sure you're connected to enough peers with net.peerCount - - * Upgrade your hardware, especially Disk and CPU resources. - -## Why is the tx from my dapp not visible on the bscscan even though its hash is generated? -Due to network congestion, it is possible for the tx to appear after a delay. Another possibility is that the number of pending txs have exceeded the size of the limited tx pool of the network and hence the txs have been dropped. - -## What is the best course of actions to make sure the slash indicator for a validator contract doesn’t exceed beyond 150 and getting jailed? - * Pruning is the top choice. - - * Use better CPU, currently we suggest m5zn.3xlarge, it is 3.2G Hz frequency. - - * IOPS above 10000 is good enough. - - * Running 2-3 backup nodes please. - - * NVMe disk is better than SSD - -## Can the location of the validator nodes be considered as playing factor in performance? Is there any way to get the enode or ips of the validator nodes? -The validators are usually running in a private network making it hard to connect or trace their location. Furthermore, it is suggested by community developers that EU is considered a better location in terms of performance. diff --git a/docs/validator/Parameters.md b/docs/validator/Parameters.md deleted file mode 100644 index e6b6e19..0000000 --- a/docs/validator/Parameters.md +++ /dev/null @@ -1,62 +0,0 @@ -# Binance Smart ChainStaking Parameters - -## Staking Token - -BNB - -## Max Validator Count - -- 11 validators on Testnet -- 21 active validators on Mainnet [20 additional candidate vaidators] - - -## Validator Candidate - -### Mainnet - -* Minimiun Self-delegate Amount: 10000BNB on Mainnet . -* Claim reward frequency: everyday at 0:00 UTC -* Unbonding Period: 7 days - -### Testnet - -* Minimiun Self-delegate Amount: 100BNB on testnet. -* Claim reward frequency: every 2 hours -* Unbonding Period: 4 hours - -## Delegator - -### Mainnet - -* Redelegate frequency: 7 days - -### Testnet - -* Redelegate frequency: 4 hours - - -## Slashing - -### Mainnet - -* Double-Sign Slash: 10000BNB - * Details: Anyone can submit a slashing request on BC with the evidence of Double Sign of BSC, which should contain the 2 block headers with the same height and parent block, sealed by the offending validator. -* Offline Slash: 50BNB - * Details: If a validator missed more than 50 blocks every 24h, the blocking reward for validator will not be relayed to BC for distribution but shared with other better validators. If it missed more than 150 blocks every 24h, then this will be propagated back to BC where another Slashing will happen -* Rewards for submitting double-sign evidence: 1000BNB -* Double-Sign Jail time: 2^63-1 seconds -* Downtime Jail time: 2 days -* Too Low self-delegation Jail time: 1 day - -### Testnet - -* Double-Sign Slash: 10000BNB - * Details: Anyone can submit a slashing request on BC with the evidence of Double Sign of BSC, which should contain the 2 block headers with the same height and parent block, sealed by the offending validator. -* Offline Slash: 30BNB - * Details: If a validator missed more than 50 blocks every 24h, the blocking reward for validator will not be relayed to BC for distribution but shared with other better validators. If it missed more than 150 blocks every 24h, then this will be propagated back to BC where another Slashing will happen -* Rewards for submitting double-sign evidence: 1000BNB -* Double-Sign Jail time: 2^63-1 seconds -* Downtime Jail time: 4h -* Too Low self-delegation Jail time: 4h - - diff --git a/docs/validator/Penalty-overview.md b/docs/validator/Penalty-overview.md index 8b250d4..a9fe327 100644 --- a/docs/validator/Penalty-overview.md +++ b/docs/validator/Penalty-overview.md @@ -6,10 +6,9 @@ sidebar_position: 2 # Penalty for Bad Behaviour by Validators -On the Binance Smart Chain (BSC) network, validators are responsible for securing the network by processing transactions and signing blocks. Validator nodes are incentivized in the form of transaction fees for their good behavior. Currently, there are 8 validators on the testnest and 21 active and 20 candidate validators on the mainnet. Validators are selected every 24 hours making the network highly decentralized. Anyone can become a candidate for the validator. To become part of the selection process of validators, the nodes have to stake their BNB. Validators can self-delegate (self-bound) BNB to themselves and can also receive delegations from any other BNB holders. The minimum amount for self-delegation is 10,000 BNB. Only the top 21 highest-staked nodes are chosen to be part of the validator set. To make sure that validators do not abuse the power entrusted to them, BSC has on-chain slashing mechanism to monitor their behavior. +On the BNB Smart Chain (BSC) network, validators are responsible for securing the network by processing transactions and signing blocks. Validator nodes are incentivized in the form of transaction fees for their good behavior. Currently, there are 8 validators on the testnest and 21 active and 20 candidate validators on the mainnet. Validators are selected every 24 hours making the network highly decentralized. Anyone can become a candidate for the validator. To become part of the selection process of validators, the nodes have to stake their BNB. Validators can self-delegate (self-bound) BNB to themselves and can also receive delegations from any other BNB holders. The minimum amount for self-delegation is 10,000 BNB. Only the top 21 highest-staked nodes are chosen to be part of the validator set. To make sure that validators do not abuse the power entrusted to them, BSC has on-chain slashing mechanism to monitor their behavior. ## Slashing and Jail -BSC introduces Slashing logic to penalize Byzantine validators for double signing or inavailability. The slashed validator will eventually be jailed. Validators who are in jail status cannot participate in the consensus mechanism or earn rewards during that period of time. Slashing ensures that validators who act maliciously or show bad behavior are not rewarded. Furthermore, it is designed to expose attackers and make execution attempts extremely expensive. BSC slash requests can be submitted by any public users. All BSC slash requests require slash -evidence and transaction cost fees, and reward will be given to successful slash requests. To ensure that the delegators are not punished for the validator's bad behavior, only self-bonded BNB of the validator are slashed. Currently, slashing is applied on any node that processes any invalid transaction, double-signing or unavailable for a defined period of time. The consensus mechanism will automatically accuse the offline validator within its block by generating a slash transaction, the other fullnode will verify the correctness of the slash transaction to avoid abusing. +BSC introduces Slashing logic to penalize Byzantine validators for double signing or inavailability. The slashed validator will eventually be jailed. Validators who are in jail status cannot participate in the consensus mechanism or earn rewards during that period of time. Slashing ensures that validators who act maliciously or show bad behavior are not rewarded. Furthermore, it is designed to expose attackers and make execution attempts extremely expensive. BSC slash requests can be submitted by any public users. All BSC slash requests require slash evidence and transaction cost fees, and rewards will be given to successful slash requests. To ensure that the delegators are not punished for the validator's bad behavior, only self-bonded BNB of the validator are slashed. Currently, slashing is applied on any node that processes any invalid transaction, double-signing or unavailable for a defined period of time. The consensus mechanism will automatically accuse the offline validator within its block by generating a slash transaction, the other fullnode will verify the correctness of the slash transaction to avoid abusing. diff --git a/docs/validator/bc-slashing.md b/docs/validator/bc-slashing.md index cbca9c2..097a557 100644 --- a/docs/validator/bc-slashing.md +++ b/docs/validator/bc-slashing.md @@ -61,7 +61,7 @@ Submit Byzaitine Behavior Evidence of A Smart Chain Validator | 10 | ### Download Binary -Please download `tbnbcli` binary from [here](https://github.com/binance-chain/smart-chain-binary/tree/master/bc/cli) +Please download `tbnbcli` binary from [here](https://github.com/bnb-chain/smart-chain-binary/tree/master/bc/cli) ### Submit BSC evidence diff --git a/docs/validator/best-practice.md b/docs/validator/best-practice.md index 02d3de0..e59b960 100644 --- a/docs/validator/best-practice.md +++ b/docs/validator/best-practice.md @@ -14,16 +14,14 @@ If you are syncing slowly, please check the speed of your disk. ## Use Chaindata Snapshot -Please download the chain data [snapshot](https://github.com/binance-chain/bsc-snapshots) and extract to your home folder to speed up +Please download the chain data [snapshot](https://github.com/bnb-chain/bsc-snapshots) and extract to your home folder to speed up - - -## Store your BNB with a hardware wallet +## Store Your BNB with a Hardware Wallet The most valuable assets of a validator are two keys: one for signing transactions and another for signing blocks -## Securing your fullnode RPC from hackers +## Securing Your Full Node RPC from Hackers Please do not expose your RPC endpoints to public network. @@ -41,19 +39,19 @@ To protect your BNB, you should only download software directly from official so It is important to keep `geth` running at all times. There are several ways to achieve this, and the simplest solution we recommend is to register `geth` as a systemd service so that it will automatically get started upon system reboots and other events. -## Set up a backup node +## Set up a Backup Node * Run validator node in archive mode * Shut down nodes gracefully * Active monitoring with tools -## Steps to run a backup node +## Steps to Run a Backup Node 1. Install the latest version of geth 2. Sync to the latest height using fast sync mode. You can either download the latest snapshot or start fast sync once your node is fully synced 3. Shut down your node gracefully kill -HUP $(pgrep geth) 4. Restart your node with `--gcmode archive ` -### Why node will be offline for a while after restart? or What will happen if client been force killed +### Why Node will be Offline for a While After Restart? or What will Happen If the Client is Force Killed? After running (synchronized) for a long period of time and being abruptly terminated, only archived nodes are expected to quickly re-synchronize upon restart. @@ -71,7 +69,7 @@ If Geth crashes (or is not shut down gracefully), the recent state held in memor The root reason is that `geth` does flush the state trie periodically. The period is defined as `trieTimeout` in `config.toml`. -## How to upgrade a backup node to become a validator node? +## How to Upgrade a Backup Node to Become a Validator Node? You can stop mining new blocks by sending commands in `geth console` @@ -96,13 +94,13 @@ Sentry nodes can be quickly spun up or change their IP addresses. Because the li To setup your sentry node architecture you can follow the instructions below: -1. Build a private network and setup trusted private connections between validator node and it sentry +1. Build a private network and setup trusted private connections between the validator node and its sentry -Please do not expose your validator fullnode RPC endpoints to public network. +Please do not expose your validator fullnode RPC endpoints to the public network. Install your [fullnode](fullnode.md) -2. Set sentry as peers for validator node +2. Set sentry as peers for the validator node In the console of the sentry node, run `admin.nodeInfo.enode` You should get something similar to this. diff --git a/docs/validator/fullnode.md b/docs/validator/fullnode.md index e26f27e..263647e 100644 --- a/docs/validator/fullnode.md +++ b/docs/validator/fullnode.md @@ -98,13 +98,13 @@ Synchronizes a full node starting at genesis, verifying all blocks and executing ### Sync From Snapshot (Recommended) -1. Download the pre-build binaries from [release page](https://github.com/binance-chain/bsc/releases/latest) or follow the instructions below: +1. Download the pre-build binaries from [release page](https://github.com/bnb-chain/bsc/releases/latest) or follow the instructions below: ```bash # Linux -wget $(curl -s https://api.github.com/repos/binance-chain/bsc/releases/latest |grep browser_ |grep geth_linux |cut -d\" -f4) +wget $(curl -s https://api.github.com/repos/bnb-chain/bsc/releases/latest |grep browser_ |grep geth_linux |cut -d\" -f4) # MacOS -wget $(curl -s https://api.github.com/repos/binance-chain/bsc/releases/latest |grep browser_ |grep geth_mac |cut -d\" -f4) +wget $(curl -s https://api.github.com/repos/bnb-chain/bsc/releases/latest |grep browser_ |grep geth_mac |cut -d\" -f4) ``` 2. Download the config files @@ -112,13 +112,13 @@ wget $(curl -s https://api.github.com/repos/binance-chain/bsc/releases/latest Download `genesis.json` and `config.toml` by: ```bash -wget $(curl -s https://api.github.com/repos/binance-chain/bsc/releases/latest |grep browser_ |grep mainnet |cut -d\" -f4) +wget $(curl -s https://api.github.com/repos/bnb-chain/bsc/releases/latest |grep browser_ |grep mainnet |cut -d\" -f4) unzip mainnet.zip ``` 3. Download snapshot -Download latest snapshot from [Download site](https://github.com/binance-chain/bsc-snapshots) +Download latest snapshot from [Download site](https://github.com/bnb-chain/bsc-snapshots) Follow the guide to structure the files. 4. Start a full node @@ -133,20 +133,20 @@ geth --config ./config.toml --datadir ./node --diffsync --cache 8000 --rpc.allow Make sure that you have installed [Go 1.13+](https://golang.org/doc/install) and have added `GOPATH` to `PATH` environment variable ```bash -git clone https://github.com/binance-chain/bsc +git clone https://github.com/bnb-chain/bsc # Enter the folder bsc was cloned into cd bsc # Compile and install bsc make geth ``` -or you can download the pre-build binaries from [release page](https://github.com/binance-chain/bsc/releases/latest) or follow the instructions below: +or you can download the pre-build binaries from [release page](https://github.com/bnb-chain/bsc/releases/latest) or follow the instructions below: ```bash # Linux -wget $(curl -s https://api.github.com/repos/binance-chain/bsc/releases/latest |grep browser_ |grep geth_linux |cut -d\" -f4) +wget $(curl -s https://api.github.com/repos/bnb-chain/bsc/releases/latest |grep browser_ |grep geth_linux |cut -d\" -f4) # MacOS -wget $(curl -s https://api.github.com/repos/binance-chain/bsc/releases/latest |grep browser_ |grep geth_mac |cut -d\" -f4) +wget $(curl -s https://api.github.com/repos/bnb-chain/bsc/releases/latest |grep browser_ |grep geth_mac |cut -d\" -f4) ``` 2.Download the config files @@ -155,11 +155,11 @@ Download `genesis.json` and `config.toml` by: ```bash ## mainet -wget $(curl -s https://api.github.com/repos/binance-chain/bsc/releases/latest |grep browser_ |grep mainnet |cut -d\" -f4) +wget $(curl -s https://api.github.com/repos/bnb-chain/bsc/releases/latest |grep browser_ |grep mainnet |cut -d\" -f4) unzip mainnet.zip ## testnet -wget $(curl -s https://api.github.com/repos/binance-chain/bsc/releases/latest |grep browser_ |grep testnet |cut -d\" -f4) +wget $(curl -s https://api.github.com/repos/bnb-chain/bsc/releases/latest |grep browser_ |grep testnet |cut -d\" -f4) unzip testnet.zip ``` @@ -216,7 +216,7 @@ you can monitor the log from `/node/bsc.log` by default. The bootstrap nodes will be enhanced in the short future. So far, a discovery http service will provide some stable public p2p peers for syncing. Please visit https://api.binance.org/v1/discovery/peers to get dynamic peer info. You can append the peer info to the `StaticNodes` in the config.toml to enhance the networking of the full nodes. To avoid crowded networking, the discovery service will change the peer info from time to time, try fetch new ones if the connected peers of full node are too few. ### Binary -All the clients are suggested to upgrade to the latest release. The [latest version](https://github.com/binance-chain/bsc/releases/latest) is supposed to be more stable and get better performance. +All the clients are suggested to upgrade to the latest release. The [latest version](https://github.com/bnb-chain/bsc/releases/latest) is supposed to be more stable and get better performance. ### Storage According to the test, the performance of a fullnode will degrade when the storage size exceeds 1.5T. We suggest the fullnode always keep light storage by pruning the storage. diff --git a/docs/validator/guideline-mainnet.md b/docs/validator/guideline-mainnet.md index ec0e8a1..5ba697b 100644 --- a/docs/validator/guideline-mainnet.md +++ b/docs/validator/guideline-mainnet.md @@ -7,7 +7,7 @@ hide_table_of_contents: false ### Before You Start -Before you start make sure you meet the hardware requirements for the validators nodes. +Before you start, make sure you meet the hardware requirements for the validators nodes. #### Choose Your Validator hardware @@ -22,7 +22,7 @@ Before you start make sure you meet the hardware requirements for the validators ### 1. Install BSC Fullnode -you can download the pre-build binaries from [release page](https://github.com/binance-chain/bsc/releases/latest) or follow the instructions [here to set up a full node](fullnode.md). +You can download the pre-build binaries from [release page](https://github.com/bnb-chain/bsc/releases/latest) or follow the instructions [here to set up a full node](fullnode.md). **Download the config files** @@ -30,7 +30,7 @@ Download `genesis.json` and `config.toml` by: ```bash ## mainet -wget --no-check-certificate $(curl -s https://api.github.com/repos/binance-chain/bsc/releases/latest |grep browser_ |grep mainnet |cut -d\" -f4) +wget --no-check-certificate $(curl -s https://api.github.com/repos/bnb-chain/bsc/releases/latest |grep browser_ |grep mainnet |cut -d\" -f4) unzip mainnet.zip ``` @@ -106,7 +106,7 @@ If you are connecting to an existing network for which you have a data backup (f You can use `bnbcli` binary to sen `create-validator` transaction, thus you can declare your candidacy. -* Download `bnbcli` from [GitHub](https://github.com/binance-chain/node-binary/tree/master/cli/prod/0.8.2) +* Download `bnbcli` from [GitHub](https://github.com/bnb-chain/node-binary/tree/master/cli/prod/0.8.2) Use `bnbcli` to create an account or recover an account, make sure the account get more than 10000 BNB. @@ -137,7 +137,7 @@ Make sure that the `side-cons-addr` is the address you unlock when start the val Read the detailed manual [here](../stake/Staking.md) to understand other parameters. -Go to [explorer](https://explorer.binance.org/) to verify your transactions. +Go to [explorer](https://explorer.bnbchain.org/) to verify your transactions. ## After Declaring Your Candidacy @@ -155,13 +155,13 @@ docker run -it -d -p 9090:9090 \ ### 2. Update validator profile -You can submit a PullRequest to this repository to update your information: +You can submit a PullRequest to this repository to update your information: Reference: ### 3. Publish Validator Information -Please submit a Pull Request to this repo +Please submit a Pull Request to this repo This repository is a place for validator candidates to give potential delegators a brief introduction about your team and infrastructure, and present your ecosystem contributions. diff --git a/docs/validator/guideline-testnet.md b/docs/validator/guideline-testnet.md index 6293f14..eb7b0a2 100644 --- a/docs/validator/guideline-testnet.md +++ b/docs/validator/guideline-testnet.md @@ -7,7 +7,7 @@ hide_table_of_contents: false ### Before You Start -Before you start make sure you meet the hardware requirements for the validators nodes. +Before you start, make sure you meet the hardware requirements for the validators nodes. #### Choose Your Validator hardware @@ -24,14 +24,14 @@ Before you start make sure you meet the hardware requirements for the validators **Install BSC Fullnode** -you can download the pre-build binaries from [release page](https://github.com/binance-chain/bsc/releases/latest) or follow the instructions [here to set up a full node](fullnode.md). +You can download the pre-build binaries from [release page](https://github.com/bnb-chain/bsc/releases/latest) or follow the instructions [here to set up a full node](fullnode.md). **Download the config files** Download `genesis.json` and `config.toml` by: ```bash ## testnet -wget --no-check-certificate $(curl -s https://api.github.com/repos/binance-chain/bsc/releases/latest |grep browser_ |grep testnet |cut -d\" -f4) +wget --no-check-certificate $(curl -s https://api.github.com/repos/bnb-chain/bsc/releases/latest |grep browser_ |grep testnet |cut -d\" -f4) unzip testnet.zip ``` @@ -48,7 +48,7 @@ geth account new --datadir ./node ### Start Validator Node !!! Warning - Please do not expose your RPC endpoints to public network. + Please do not expose your RPC endpoints to the public network. ```bash echo {your-password} > password.txt @@ -59,9 +59,9 @@ geth --config ./config.toml --datadir ./node --syncmode snap -unlock {your-valid You can get testnet BNB from , but the BNB is on BNB Smart Chain. -Download `tbnbcli `from [GitHub](https://github.com/binance-chain/node-binary/tree/master/cli/testnet/0.8.1). Use `tbnbcli` to create an account or recover an account. +Download `tbnbcli `from [GitHub](https://github.com/bnb-chain/node-binary/tree/master/cli/testnet/0.8.1). Use `tbnbcli` to create an account or recover an account. -You can follow the [guide](https://binance-wallet.gitbook.io/binance-chain-extension-wallet/best-practice/transfer-testnet-bnb-from-bsc-to-bc) to transfer BNB from BSC testnet to BC testnet. +You can follow the [guide](https://docs.bnbchain.org/docs/binance#transfer-testnet-bnb-from-bsc-to-bc) to transfer BNB from BSC testnet to BC testnet. ### Declare Your Candidacy @@ -90,7 +90,7 @@ tbnbcli staking bsc-create-validator \ --node=http://data-seed-pre-1-s3.binance.org:80 ``` -Go to [explorer](https://explorer.binance.org/) to verify your transactions. +Go to [explorer](https://explorer.bnbchain.org/) to verify your transactions. Check your validator's status at this [page](https://testnet-staking.binance.org/en/staking) @@ -110,13 +110,13 @@ docker run -it -d -p 9090:9090 \ ### 2. Update validator profile -You can submit a PullRequest to this repository to update your information: +You can submit a PullRequest to this repository to update your information: Reference: ### 3. Publish Validator Information -Please submit a Pull Request to this repo +Please submit a Pull Request to this repo This repository is a place for validator candidates to give potential delegators a brief introduction about your team and infrastructure, and present your ecosystem contributions. diff --git a/docs/validator/monitor-and-query-slash.md b/docs/validator/monitor-and-query-slash.md index 9eacc18..c8c6895 100644 --- a/docs/validator/monitor-and-query-slash.md +++ b/docs/validator/monitor-and-query-slash.md @@ -2,7 +2,7 @@ ## Monitoring Slash Contract -As best practise, it is advisable to keep monitoring the event log of the slash contract on the BSC scanner at +As best practice, it is advisable to keep monitoring the event log of the slash contract on the BSC scanner at . Additionally, you can also check the slash indicator by reading the contract and pay attention to those above 30. Once it exceeds 150, the validator contract will be jailed. ## Query Side Chain Signing Info diff --git a/docs/validator/node-maintenance.md b/docs/validator/node-maintenance.md index 4184c45..b59eccb 100644 --- a/docs/validator/node-maintenance.md +++ b/docs/validator/node-maintenance.md @@ -6,10 +6,10 @@ sidebar_position: 2 # Node Maintainence ### Peer Discovery -The bootstrap nodes will be enhanced in the short future. So far, a discovery http service will provide some stable public p2p peers for syncing. Please visit https://api.binance.org/v1/discovery/peers to get dynamic peer info. You can append the peer info to the `StaticNodes` in the config.toml to enhance the networking of the full nodes. To avoid crowded networking, the discovery service will change the peer info from time to time, try fetch new ones if the connected peers of full node are too few. +The bootstrap nodes will be enhanced in the short future. So far, a discovery http service will provide some stable public p2p peers for syncing. Please visit https://api.binance.org/v1/discovery/peers to get dynamic peer info. You can append the peer info to the `StaticNodes` in the config.toml to enhance the networking of the full nodes. To avoid crowded networking, the discovery service will change the peer info from time to time and try fetch new ones if the connected peers of full node are too few. ### Binary -All the clients are suggested to upgrade to the latest release. The [latest version](https://github.com/binance-chain/bsc/releases/latest) is supposed to be more stable and get better performance. +All the clients are suggested to upgrade to the latest release. The [latest version](https://github.com/bnb-chain/bsc/releases/latest) is supposed to be more stable and get better performance. ### Storage According to the test, the performance of a fullnode will degrade when the storage size exceeds 1.5T. We suggest the fullnode always keep light storage by pruning the storage. @@ -28,7 +28,7 @@ The hardware is also important, **make sure the SSD meets: 2T GB of free disk sp The diffsync protocol rolled out as a stable feature in release v1.1.5. Diff sync improves the syncing speed by 60%~70% approximately according to the test. All full nodes are suggested to enable it by adding `--diffsync` in the starting command. ### Light Storage -When the node crashes or been force killed, the node will sync from a block that was a few minutes or a few hours ago. This is because the state in memory is not persisted into the database in real time, and the node needs to replay blocks from the last checkpoint once it start. The replaying time dependents on the configuration `TrieTimeout` in the config.toml. We suggest you raise it if you can tolerate with long replaying time, so the node can keep light storage. +When the node crashes or been force killed, the node will sync from a block that was a few minutes or a few hours ago. This is because the state in memory is not persisted into the database in real time, and the node needs to replay blocks from the last checkpoint once it start. The replaying time depends on the configuration `TrieTimeout` in the config.toml. We suggest you raise it if you can tolerate with long replaying time, so the node can keep light storage. ## Upgrade Geth diff --git a/docs/validator/overview.md b/docs/validator/overview.md index 5416ae3..0c00cfd 100644 --- a/docs/validator/overview.md +++ b/docs/validator/overview.md @@ -5,7 +5,7 @@ hide_table_of_contents: false --- # Overview -BNB Smart Chain is an innovative solution to bring programmability and interoperability to Beacon Chain. BNB Smart Chain relies on a system of 21 active validators with [Proof of Staked Authority (PoSA) consensus](https://github.com/binance-chain/whitepaper/blob/master/WHITEPAPER.md#consensus-and-validator-quorum) that can support short block time and lower fees. The most bonded validator candidates of staking will become validators and produce blocks. The double-sign detection and other slashing logic guarantee security, stability, and chain finality. +BNB Smart Chain is an innovative solution to bring programmability and interoperability to Beacon Chain. BNB Smart Chain relies on a system of 21 active validators with [Proof of Staked Authority (PoSA) consensus](https://github.com/bnb-chain/whitepaper/blob/master/WHITEPAPER.md#consensus-and-validator-quorum) that can support short block time and lower fees. The most bonded validator candidates of staking will become validators and produce blocks. The double-sign detection and other slashing logic guarantee security, stability, and chain finality. Other than the 21 active validators, BSC will introduce more validators, e.g. another 20 inactive validators, into the validator set as backups, which will be called “Candidates”. diff --git a/docs/validator/requirements.md b/docs/validator/requirements.md index fda234d..4599c8b 100644 --- a/docs/validator/requirements.md +++ b/docs/validator/requirements.md @@ -1,143 +1,13 @@ --- -sidebar_label: Validator Requirements +sidebar_label: Hardware Requirements hide_table_of_contents: false sidebar_position: 2 --- -# Validator Requirements +# Validator Hardware Requirements -## Minimum BNB Requirements - -**_Data Required_** - -## Supported Platforms - -We support running a full node on `Mac OS X` and `Linux`. - -## Hardware Recomendations - -### Fullnode - VPS running recent versions of Mac OS X or Linux. -- **IMPORTANT** 2T GB of free disk space, solid-state drive(SSD), gp3, 8k IOPS, 250MB/S throughput, read latency <1ms. (if start with snap/fast sync, it will need NVMe SSD) -- 16 cores of CPU and 64 gigabytes of memory (RAM). -- Suggest m5zn.3xlarge instance type on AWS, c2-standard-16 on Google cloud. - - -#### CPU -- 16 cores of CPU - -**_DATA REQUIRED_** - -#### RAM -- 64 gigabytes of memory (RAM) - -**_DATA REQUIRED_** - -#### Disk -- 2T GB of free disk space, solid-state drive(SSD), gp3, 8k IOPS, 250MB/S throughput, read latency <1ms. (if start with snap/fast sync, it will need NVMe SSD) - -**_DATA REQUIRED_** - -#### GPUs - -**_DATA REQUIRED_** - -#### RPC Node Recommendations# -#### CPU - -**_DATA REQUIRED_** - -#### RAM - -**_DATA REQUIRED_** - -#### Disk - -**_DATA REQUIRED_** - -#### Virtual machines on Cloud Platforms# -- Suggest m5zn.3xlarge instance type on AWS, c2-standard-16 on Google cloud. - -**_DATA REQUIRED_** -#### Docker# - -**_DATA REQUIRED_** - -#### Software# - -**_DATA REQUIRED_** - -#### Networking# -- A broadband Internet connection with upload/download speeds of 5 megabyte per second. - -**_DATA REQUIRED_** -#### Port Forwarding# -The following ports need to be open to the internet for both inbound and outbound - -**_DATA REQUIRED_** -#### GPU Requirements# - -**_DATA REQUIRED_** - - -### Validator -- VPS running recent versions of Mac OS X or Linux. -- **IMPORTANT** 2T GB of free disk space, solid-state drive(SSD), gp3, 8k IOPS, 250MB/S throughput, read latency <1ms +- **IMPORTANT** 2T GB of free disk space, solid-state drive(SSD), gp3, 8k IOPS, 250MB/S throughput, read latency <1ms (if start with snap/fast sync, it will need NVMe SSD) - 16 cores of CPU and 64 gigabytes of memory (RAM) - Suggest m5zn.3xlarge instance type on AWS, or c2-standard-16 on Google cloud. - A broadband Internet connection with upload/download speeds of 10 megabyte per second -#### CPU -- 16 cores of CPU - -**_DATA REQUIRED_** - -#### RAM -- 64 gigabytes of memory (RAM) - -**_DATA REQUIRED_** - -#### Disk -- 2T GB of free disk space, solid-state drive(SSD), gp3, 8k IOPS, 250MB/S throughput, read latency <1ms. (if start with snap/fast sync, it will need NVMe SSD) - -**_DATA REQUIRED_** -#### GPUs - -**_DATA REQUIRED_** - -#### RPC Node Recommendations# -#### CPU - -**_DATA REQUIRED_** -#### RAM - -**_DATA REQUIRED_** -#### Disk - -**_DATA REQUIRED_** - -#### Virtual machines on Cloud Platforms -- Suggest m5zn.3xlarge instance type on AWS, c2-standard-16 on Google cloud. - -**_DATA REQUIRED_** - -#### Docker - -**_DATA REQUIRED_** - -#### Software - -**_DATA REQUIRED_** - -#### Networking -- A broadband Internet connection with upload/download speeds of 10 megabyte per second - - **_DATA REQUIRED_** - -#### Port Forwarding -The following ports need to be open to the internet for both inbound and outbound - -**_DATA REQUIRED_** - -#### GPU Requirements - -**_DATA REQUIRED_** \ No newline at end of file diff --git a/docs/validator/scenarios-slash.md b/docs/validator/scenarios-slash.md index 3176a14..b69c719 100644 --- a/docs/validator/scenarios-slash.md +++ b/docs/validator/scenarios-slash.md @@ -8,12 +8,11 @@ sidebar_position: 2 ### Double Signing -Double signing refers to an event when the validator node proposes two different blocks at the same block height. Validator will be removed from the validator set, if they try signing two different blocks and broadcasting them. For BSC slash request on double signing the supporting evidence should indicate two block headers having the same -block height and same parent block hash sealed by the same validator. The time of these two blocks must be within the validity of the evidence, which is 24 hours. Rewards for successful submission of double-sign evidence is 100 BNB. In the event evidence and slash request is valid, the validators will face a slashing of **_10,000 BNB_** from their self-delegated BNB and will be 'jailed' for a time period of 292 years. +Double signing refers to an event when the validator node proposes two different blocks at the same block height. The validator will be removed from the validator set, if they try signing two different blocks and broadcasting them. For BSC slash request on double signing, the supporting evidence should indicate two block headers having the same block height and the same parent block hash sealed by the same validator. The time of these two blocks must be within the validity of the evidence, which is 24 hours. Rewards for successful submission of double-sign evidence is 100 BNB. In the event evidence and slash request is valid, the validators will face a slashing of **_10,000 BNB_** from their self-delegated BNB and will be 'jailed' for a time period of 292 years. ### Unavailability/Downtime -The slash fee for a validator being offline is self-delegated **_50 BNB_** along with jail time of 2 days. If a validator missed 50 blocks (\~52 minutes of downtime) within 24 hours, their collected reward will be re-distributed among other better performing validators of the set. Another case of unavailability is when a validator misses over 150 blocks (\~157.5 minutes of downtime) within 24 hours. In this case, the validator will lose its reward and be kicked out of the validator set immediately. +The slash fee for a validator being offline is self-delegated **_50 BNB_** along with jail time of 2 days. If a validator missed 50 blocks (157.5 minutes of downtime) within 24 hours. In this case, the validator will lose its reward and be kicked out of the validator set immediately. ### Self‐bond Below Minimum diff --git a/docs/validator/send-slash-evidence.md b/docs/validator/send-slash-evidence.md index b84b627..d4f5ea7 100644 --- a/docs/validator/send-slash-evidence.md +++ b/docs/validator/send-slash-evidence.md @@ -6,7 +6,7 @@ sidebar_position: 2 # How to send BSC Slash Evidence -To submit BSC slash evidence, download the [bnbcli](https://github.com/binance-chain/node-binary/tree/master/cli/prod/0.8.2) binary. +To submit BSC slash evidence, download the [bnbcli](https://github.com/bnb-chain/node-binary/tree/master/cli/prod/0.8.2) binary. ### Command for submitting evidence ``` diff --git a/docs/validator/slash-fee.md b/docs/validator/slash-fee.md index b69b413..81bcc71 100644 --- a/docs/validator/slash-fee.md +++ b/docs/validator/slash-fee.md @@ -11,7 +11,7 @@ sidebar_position: 2 Anyone can submit a slash request on BC with the evidence of Double Sign of BSC ### Evidence Validation -* Two block headers have same height and same parent block hash +* Two block headers have the same height and the same parent block hash * Two block headers are sealed by the same validator * Two signatures of these two blocks must not be the same * The time of these two blocks must be within the validity of the evidence, which is 24 hours @@ -22,18 +22,18 @@ If the evidence is valid: 2. If the self-delegator’s stake amount on the validator is less than 1000BNB, then the unbonding delegation balance would be slashed if it exists until totally 1000BNB slashed from self-delegator of the validator. However, if all the slashed BNB is less than 1000, all the remaining stake of the self-delegator will be slashed 3. 100 of slashed BNB would allocate to the submitter as a reward 4. The rest of slashed BNB will allocate to the custody addresses of which validators would take part in the next distribution. If no matched validators found, then the rest of slashed BNB will allocate to validators on BC as block fee -5. Set the validator ‘jailed’ with duration of 7 days, and remove it from validator set by an instance BSC validator set update Cross-Chain update +5. Set the validator ‘jailed’ with a duration of 7 days, and remove it from validator set by an instance BSC validator set update Cross-Chain update -## Inavailability +## Unavailability There can be an internal smart contract responsible for recording the missed blocking metrics of each validator. -If a validator missed more than 50 blocks in 24h, the blocking reward for validator will not be relayed to BC for distribution but shared with other better validators. If it missed more than 150 blocks in 24h, then this will be propagated back to BC where another Slashing will happen: +If a validator missed more than 50 blocks in 24h, the blocking reward for the validator will not be relayed to BC for distribution but shared with other better validators. If it missed more than 150 blocks in 24h, then this will be propagated back to BC where another Slashing will happen: 1. 50BNB would be slashed from the **self-delegated** BNB of the validator 2. If the self-delegator’s stake amount on the validator is less than 50BNB, then the unbonding delegation balance would be slashed if it exists until totally 50BNB slashed from self-delegator of the validator. However, if all the slashed BNB is less than 1000, all the remaining stake of the self-delegator will be slashed 3. 10 of slashed BNB would allocate to the validators on BC as block fee 4. The rest of slashed BNB will allocate to the custody addresses of which validators would take part in the next distribution. If no matched validators found, then the rest of slashed BNB will allocate to validators on BC as block fee -5. Set the validator ‘jailed’ with duration of 2 days, and remove it from validator set by an instance BSC validator set update Cross-Chain update +5. Set the validator ‘jailed’ with a duration of 2 days, and remove it from validator set by an instance BSC validator set update Cross-Chain update diff --git a/docs/validator/snapshot.md b/docs/validator/snapshot.md index 1c68751..4e20844 100644 --- a/docs/validator/snapshot.md +++ b/docs/validator/snapshot.md @@ -6,11 +6,11 @@ hide_table_of_contents: false # Chaindata Snapshot -For latest chaindata snapshots visit [here](https://github.com/binance-chain/bsc-snapshots) +For latest chaindata snapshots visit [here](https://github.com/bnb-chain/bsc-snapshots) ### For v1.1.0: -* [Latest Snapshot](https://github.com/binance-chain/bsc-snapshots) +* [Latest Snapshot](https://github.com/bnb-chain/bsc-snapshots) * [2021-05-15 snapshot](https://s3.ap-northeast-1.amazonaws.com/dex-bin.bnbstatic.com/geth-20210515.zip?AWSAccessKeyId=AKIAYINE6SBQPUZDDRRO&Expires=1623905351&Signature=w1hPMeDxB68aJ2qUM74YbUufCPo%3D) (size 220GB) @@ -48,7 +48,7 @@ Download March Snapshot from CLI using wget wget --no-check-certificate --no-proxy 'https://s3.ap-northeast-1.amazonaws.com/dex-bin.bnbstatic.com/s3-witness-data-download/chaindata_202103.zip?AWSAccessKeyId=AKIAYINE6SBQPUZDDRRO&Expires=1641450253&Signature=hOC8I8HSpCOytlYMVQwKRc5oUaI%3D' ``` -> Tip: extract the data in background +> Tip: extract the data in the background In case you can not wait for the extraction to finish, you can run it in the background diff --git a/docs/validator/testnet.md b/docs/validator/testnet.md index 5dcf60b..ab07181 100644 --- a/docs/validator/testnet.md +++ b/docs/validator/testnet.md @@ -1,7 +1,7 @@ --- sidebar_label: Create a Validator on Testnet sidebar_position: 2 -hide_table_of_contents: true +hide_table_of_contents: false --- # How to become a Validator Candidate @@ -25,24 +25,24 @@ If you already have an account, use the seed phrase to recover it: geth account import --datadir ./node ``` -### Get some testnet fund from faucet +### Get Testnet Funds from Faucet Go to this faucet page: ### Transfer BNB from BSC to BC -Please refer to this [guide](https://binance-wallet.gitbook.io/binance-chain-extension-wallet/best-practice/transfer-testnet-bnb-from-bsc-to-bc) to transfer BNB with Binance Chain extension wallet. +Please refer to this [guide](https://docs.bnbchain.org/docs/binance#transfer-testnet-bnb-from-bsc-to-bc) to transfer BNB with Binance Chain extension wallet. -### Become a validator candidate +### Become a Validator Candidate You can use `tbnbcli` to [declare your candidacy](../stake/cli-commands.md) some of BNB to a validator Go to [testnet explorer](https://testnet-explorer.binance.org/) to verify your transactions. -### Get Genesis file and Config file +### Get Genesis File and Config file ```bash -wget --no-check-certificate $(curl -s https://api.github.com/repos/binance-chain/bsc/releases/latest |grep browser_ |grep testnet |cut -d\" -f4) +wget --no-check-certificate $(curl -s https://api.github.com/repos/bnb-chain/bsc/releases/latest |grep browser_ |grep testnet |cut -d\" -f4) unzip testnet.zip ``` @@ -55,7 +55,7 @@ geth --datadir node init genesis.json geth --config ./config.toml --datadir ./node --syncmode snap -unlock {validator-address} --mine --allow-insecure-unlock ``` -### Become a validator candidate of testnet +### Become a Validator Candidate of Testnet You can use `tbnbcli` to [declare your candidacy](../stake/cli-commands.md) some of BNB to a validator diff --git a/docs/validator/troubleshoot.md b/docs/validator/troubleshoot.md deleted file mode 100644 index 94c567e..0000000 --- a/docs/validator/troubleshoot.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -sidebar_label: Troubleshooting -hide_table_of_contents: false -sidebar_position: 2 ---- \ No newline at end of file diff --git a/docs/validator/upgrade-fullnode.md b/docs/validator/upgrade-fullnode.md index 4ad12d7..60cdc56 100644 --- a/docs/validator/upgrade-fullnode.md +++ b/docs/validator/upgrade-fullnode.md @@ -6,12 +6,12 @@ sidebar_position: 2 # How to Upgrade Geth -Updating `geth` is as easy as it gets. You just need to download and install the newer version of `geth`, shutdown your node and restart with the new software. Geth will automatically use the data of your old node and sync the latest blocks that were mined since you shutdown the old software. +Updating `geth` is as easy as it gets. You just need to download and install the newer version of `geth`, shutdown your node and restart with the new software. Geth will automatically use the data of your old node and sync the latest blocks that were mined since you shut down the old software. -## Step 1: Compile the new version +## Step 1: Compile the New Version ```bash -git clone https://github.com/binance-chain/bsc +git clone https://github.com/bnb-chain/bsc # Enter the folder bsc was cloned into cd bsc # Comile and install bsc diff --git a/docs/wallet/AlphaWallet.md b/docs/wallet/AlphaWallet.md index a1eab45..299127b 100644 --- a/docs/wallet/AlphaWallet.md +++ b/docs/wallet/AlphaWallet.md @@ -3,26 +3,28 @@ sidebar_label: AlphaWallet hide_table_of_contents: false --- -# How to use AlphaWallet for BNB Smart Chain on your mobile +# How to Use AlphaWallet for BNB Smart Chain on Your Mobile + ## Install -### 1. Get App from Andriod Play Store, iOS app Store, Andriod APK file or iOS TestFlight https://alphawallet.com/download-alphawallet-app/ + +1. Get App from Andriod Play Store, iOS app Store, Andriod APK file or iOS TestFlight https://alphawallet.com/download-alphawallet-app/ Or you can make your own build from the open source code https://github.com/AlphaWallet -### 2. Open AlphaWallet on your mobile, backup Seed Phrase +2. Open AlphaWallet on your mobile, backup Seed Phrase ## Setup Your Wallet for BNB Smart Chain -### 1. Click Setting tab, Select Active Network +1. Click Setting tab, Select Active Network -### 2. Select Binance. If you want to enable the testnet as well, select Binance(test). +2. Select Binance. If you want to enable the testnet as well, select Binance(test). ## Setup Your DApp browser for BNB Smart Chain -### 1. Click Browser tab, Click the Ethereum +1. Click Browser tab, Click the Ethereum -### 2. In the browser active network page, select Binance or Binance(Test) +2. In the browser active network page, select Binance or Binance(Test) It’s ready, and now you can get some testnet BNB from the faucet. ## Get Testnet Fund -### 1. Copy your address. +1. Copy your address. -### 2. Go to +2. Go to diff --git a/docs/wallet/arkane.md b/docs/wallet/arkane.md index 8ef2c64..7966f1b 100644 --- a/docs/wallet/arkane.md +++ b/docs/wallet/arkane.md @@ -1,12 +1,12 @@ --- sidebar_label: Arkane sidebar_position: 2 -hide_table_of_contents: true +hide_table_of_contents: false --- # How to create a BSC wallet in Arkane -If you are looking for a user-friendly BNB Smart Chain wallet, consider creating an Arkane wallet. It allows you to enable recovery mechanism and comes with end-user support via their in-app chat, making sure you are never lost in the wonderful land of cryptocurrency. +If you are looking for a user-friendly BNB Smart Chain wallet, consider creating an Arkane wallet. It allows you to enable the recovery mechanism and comes with end-user support via their in-app chat, making sure you are never lost in the wonderful land of cryptocurrency. ## Key features - Cloud wallet, offers support Web and mobile @@ -18,45 +18,42 @@ If you are looking for a user-friendly BNB Smart Chain wallet, consider creating ## Step 1. Sign up to Arkane -Navigate to [https://arkane.network](https://arkane.network/?utm_source=binance&utm_medium=documentation) and click the 'YOUR WALLET'-button in the top right corner. +- Navigate to [https://arkane.network](https://arkane.network/?utm_source=binance&utm_medium=documentation) and click the 'YOUR WALLET'-button in the top right corner. ![img](https://github.com/ArkaneNetwork/content-management/blob/master/tutorials/bsc/create_wallet/01.png?raw=true) -Click 'Create Account' if you are new to Arkane. You can sign up to Arkane with your social credentials or with email and password. +- Click 'Create Account' if you are new to Arkane. You can sign up to Arkane with your social credentials or with email and password. ![img](https://github.com/ArkaneNetwork/content-management/blob/master/tutorials/bsc/create_wallet/02.png?raw=true) -After signing up with one of your social accounts (fastest) or with your email address and password. You will need to accept the terms and conditions. +- After signing up with one of your social accounts (fastest) or with your email address and password. You will need to accept the terms and conditions. ![img](https://github.com/ArkaneNetwork/content-management/blob/master/tutorials/bsc/create_wallet/03.png?raw=true) -To secure your wallet you need to configure a PIN. You PIN should be between 4 and 6 digits. Your PIN will be used to approve future transactions. +- To secure your wallet you need to configure a PIN. You PIN should be between 4 and 6 digits. Your PIN will be used to approve future transactions. ![img](https://github.com/ArkaneNetwork/content-management/blob/master/tutorials/bsc/create_wallet/04.png?raw=true) ## Step 2. Create your wallet -Now that you've configured your PIN, you are ready to create a BNB Smart Chain wallet. Just select BNB Smart Chain from the list. +- Now that you've configured your PIN, you are ready to create a BNB Smart Chain wallet. Just select BNB Smart Chain from the list. ![img](https://github.com/ArkaneNetwork/content-management/blob/master/tutorials/bsc/create_wallet/05.png?raw=true) -To create a new wallet press *'Create new wallet'* +- To create a new wallet press *'Create new wallet'* ![img](https://github.com/ArkaneNetwork/content-management/blob/master/tutorials/bsc/create_wallet/06.png?raw=true) -Once you've press the button, Arkane will ask you to confirm using your PIN (the one you configured a few steps before). After that your wallet will be created and you will be taken to your Dashboard. +- Once you've press the button, Arkane will ask you to confirm using your PIN (the one you configured a few steps before). After that your wallet will be created and you will be taken to your Dashboard. ![img](https://github.com/ArkaneNetwork/content-management/blob/master/tutorials/bsc/create_wallet/07.png?raw=true) ## 🥳 Congratulations! -You have now created your BNB Smart Chain wallet to manage your digital assets on the BNB Smart Chain blockchain. - - - +- You have now created your BNB Smart Chain wallet to manage your digital assets on the BNB Smart Chain blockchain. ## Receive BNB and BEP20 tokens -Every BSC wallet in Arkane is able to send and receive BNB or BEP20 tokens. They will automatically appear in your wallet. +- Every BSC wallet in Arkane is able to send and receive BNB or BEP20 tokens. They will automatically appear in your wallet. ![img](https://github.com/ArkaneNetwork/content-management/blob/master/tutorials/bsc/create_wallet/09.png?raw=true) diff --git a/docs/wallet/binance.md b/docs/wallet/binance.md index c7b5784..22fd67b 100644 --- a/docs/wallet/binance.md +++ b/docs/wallet/binance.md @@ -1,13 +1,14 @@ --- -sidebar_label: BNB Chain Extension Wallet +sidebar_label: Binance Extension Wallet hide_table_of_contents: false --- -# Use BNB Chain Extension Wallet +# Binance Extension Wallet + ## What is it? -BNB Chain Extension Wallet is a Crypto Wallet for Beacon Chain, BNB Smart Chain. You can send and receive funds on Binance Chain, BNB Smart Chain and cross-chain transfers between both of Binance’s blockchains. +Binance Extension Wallet is a crypto Wallet for Beacon Chain and BNB Smart Chain. You can send and receive funds on Beacon Chain, BNB Smart Chain and cross-chain transfers between both of BNB Chain’s blockchains. -In the future, BNB Chain Extension Wallet will add support for Ethereum blockchain and enable access for distributed applications, or "Dapps" in your browser! +In the future, Binance Extension Wallet will add support for Ethereum blockchain and enable access for distributed applications, or "Dapps" in your browser! It’s supported in Firefox and Chrome browsers. @@ -17,12 +18,12 @@ Chrome App Store Link: -[How to manually install the BNB Chain Extension Wallet](manual.md) +[How to manually install the Binance Extension Wallet](manual.md) ## Install -**Example: Install Binance Chain Wallet in Firefox browser** +**Example: Install Binance Extension Wallet in Firefox browser** * Open Extension in Firefox: @@ -35,15 +36,16 @@ Note: Make sure it’s offered by Binance Chain * Click on “Add to Firefox” -img +img + +That’s it! You have successfully installed the Binance Wallet extension in Firefox! -That’s it! You have successfully installed the Binance Chain Wallet extension in Firefox! +Note: The workflow is the same for all browsers. -The workflow is the same for all browsers ## Create an account in extension wallet for BNB Smart Chain -* Click on “I do not own a wallet” +* Click on “_I do not own a wallet_” ![img](https://lh6.googleusercontent.com/qmWsS5xLoF-qpk_3IBeE21vkt20lM0Ew7Wen_TGdgANw-2WEEvfNEqCibw2sUlt9YMS-m7A5iebwpXP40LlJwkXb8vOv8D8BGQcghn7E4CvHOjib1b4NQjaMRHLHit6hH6YVE9cc) @@ -53,7 +55,7 @@ The workflow is the same for all browsers ![img](https://lh4.googleusercontent.com/sYV31JuMNYBK1OoqNwaxp3wRovbeLfkFtRle0_cfBeJMb1vyL3wKRKnp8420PZZKS0PLQrs89w6RJtUYCa3z1UAzZDSvf1FQT5bTOJaFowuYOHCuCNauQ41v8yk9dKlsuwkOssed) -* Click on “Continue” +* Click on “_Continue_” * Backup your recovery phrase @@ -65,14 +67,14 @@ Congratulations! you have created your account! ## Recover your account with Mnemonic Phrase * Install BNB Chain Extension by following the previous steps -* firstClick on “I own a wallet” -img +* firstClick on “_I own a wallet_” +img * Type your recovery phrase and choose a strong password -img +img -* Click on “Get started” +* Click on “_Get started_” Now you are all set! @@ -123,7 +125,7 @@ After the transfer transaction is sent, you will see an increase in your balance * Switch to BNB Smart Chain testnet after unlock your extension wallet and copy your address, start with `0x` -img +img * Click on the “+” and add “BNB” token @@ -134,27 +136,27 @@ After the transfer transaction is sent, you will see an increase in your balance * Click on “Send” when you have filled in other information. You have to confirm it too -img +img * Switch back to BNB Smart Chain Testnet to confirm this cross-chain transfer ## Swap Testnet BEP2 token to its BEP20 equivalent -* Follow the instructions above to Install BNB Chain Extension wallet if not ready +* Follow the instructions above to Install Binance Extension Wallet if not ready * Follow the instructions above to create or Recover your account * Switch to Binance Chain testnet after unlock your extension wallet and Click at “+” to add your BEP2 token if necessary -img +img **Verify your balance has enough BNB to pay transfer fee** * Switch to BNB Smart Chain testnet and copy your address, start with `0x` -img +img Click at “+” to add your BEP20 token if necessary -img +img * Switch to Binance Chain testnet and click on “Send” @@ -162,19 +164,19 @@ Click at “+” to add your BEP20 token if necessary * Click on “Send” when you have filled in other information. You have to confirm it too -img +img * Switch to BNB Smart Chain testnet, you should see your BEP20 token balance change -img +img ## Swap Testnet BEP20 token to its BEP2 equivalent -* Follow the instructions above to Install BNB Chain Extension wallet if not ready +* Follow the instructions above to Install Binance Extension Wallet if not ready * Follow the instructions above to create or Recover your account * Switch to BNB Smart Chain testnet and Click at “+” to add your BEP20 token if necessary -img +img **Verify your balance has enough BNB to pay transfer fee** @@ -182,16 +184,16 @@ Click at “+” to add your BEP20 token if necessary Note: for mainnet, the address starts with `bnb1` -img +img * Click at “+” to add your BEP2 token if necessary -img +img * Switch to BNB Smart Chain testnet and click on “Send” -img +img * Confirm your transaction and verify your balance change diff --git a/docs/wallet/coin98wallet.md b/docs/wallet/coin98wallet.md index 17ce0bc..f0bc7d3 100644 --- a/docs/wallet/coin98wallet.md +++ b/docs/wallet/coin98wallet.md @@ -10,19 +10,18 @@ Users are able to store, send & receive BNB, the native token of BNB Smart Chain **Step 1:** Open Coin98 Mobile Wallet & click **Manage** on the home screen. **Step 2:** Click **Add Wallet**, choose **BNB Smart Chain (BNB BEP20)** icon, and click **Create**. - -![img](https://gblobscdn.gitbook.com/assets%2F-MLfdRENhXE4S22AEr9Q%2F-Mk69AiKEZ6C97-F0VnH%2F-Mk6Dbtv22lBBOknsrv8%2F%E1%BA%A3nh.png?alt=media&token=c2234532-8071-474a-b171-86e086b5bf73) +![img](../assets/picture1.png) **Step 3**: Name the wallet. Click **Next** - Paste the provided Passphrase/ Private Key into the confirmation box. -- After copying & saving your Passphrase, tick the **“Backup your recovery key”** box to confirm & back up the provided Passphrase & Private Key. Please note that these information are crucial to keeping your assets safe. +- After copying & saving your Passphrase, tick the **“Backup your recovery key”** box to confirm & back up the provided Passphrase & Private Key. Please note that this information is crucial to keeping your assets safe. - Tick the remaining boxes to confirm you’re aware of the risks. - Click **Create Wallet**. -![img](https://gblobscdn.gitbook.com/assets%2F-MLfdRENhXE4S22AEr9Q%2F-Mk6jDHEZEljK3IRlp_1%2F-Mk6oSUPLzQBZyacoV_2%2Fimage.png?alt=media&token=c0491192-42dc-42d1-97a2-948ee5e81dbd) +![img](../assets/picture2.png) Your BNB Wallet will instantly be displayed on the home screen. You can also click **Manage** to check your wallets. @@ -35,7 +34,7 @@ Your BNB Wallet will instantly be displayed on the home screen. You can also cli **Step 4:** Send BNB tokens to this address. -![img](https://gblobscdn.gitbook.com/assets%2F-MLfdRENhXE4S22AEr9Q%2F-Mk69AiKEZ6C97-F0VnH%2F-Mk6EqR9jrJcR6OUKD4Q%2F%E1%BA%A3nh.png?alt=media&token=7b2f08d5-8a0a-4d85-9fc5-f2305367cd02) +![img](../assets/picture3.png) ## How to send BNB and BEP20 tokens from Coin98 Mobile Wallet @@ -47,7 +46,7 @@ Your BNB Wallet will instantly be displayed on the home screen. You can also cli **Step 4:** Slide **Send** to complete. -![img](https://gblobscdn.gitbook.com/assets%2F-MLfdRENhXE4S22AEr9Q%2F-Mk69AiKEZ6C97-F0VnH%2F-Mk6FIZlnWVVb22BnDRC%2F%E1%BA%A3nh.png?alt=media&token=b2d47802-a8ba-48be-97f0-f6320a44ee6a) +![img](../assets/picture4.png) **Note:** @@ -63,9 +62,9 @@ Users are also able to store, send & receive BNB and BEP20 tokens directly on Co **Step 2:** Choose **BNB Smart Chain (BNB BEP20)** wallet icon, then click **Create Wallet**. -![img](https://gblobscdn.gitbook.com/assets%2F-MLfdRENhXE4S22AEr9Q%2F-Mk69AiKEZ6C97-F0VnH%2F-Mk6K7tOICfM_nx40r5t%2FPicture168.png?alt=media&token=384c3153-db4b-4095-8a0d-daf86d4fdc37) +![img](../assets/Picture168.png) -**Step 3:** Name the wallet & back up the provided Passphrase & Private Key. Please note that these information are crucial to keeping your assets safe. +**Step 3:** Name the wallet & back up the provided Passphrase & Private Key. Please note that this information is crucial for keeping your assets safe. - After copying & saving your Passphrase, tick the **“Backup your recovery key”** box to confirm. @@ -75,7 +74,7 @@ Users are also able to store, send & receive BNB and BEP20 tokens directly on Co **Step 4:** Paste the provided Passphrase into the confirmation box, then click **Create.** -![img](https://gblobscdn.gitbook.com/assets%2F-MLfdRENhXE4S22AEr9Q%2F-Mk69AiKEZ6C97-F0VnH%2F-Mk6LORdYiX1ii5DQWSk%2F%E1%BA%A3nh.png?alt=media&token=2a281f07-bdaf-4ffb-9a34-b1f142abbcad) +![img](../assets/picture5.png) Your BNB Wallet will instantly be displayed on the home screen. You can also click **Manage** to check your wallets. @@ -88,7 +87,7 @@ Your BNB Wallet will instantly be displayed on the home screen. You can also cli Transfer BEP20 tokens to the address copied on step 3. -![img](https://gblobscdn.gitbook.com/assets%2F-MLfdRENhXE4S22AEr9Q%2F-Mk69AiKEZ6C97-F0VnH%2F-Mk6NA9bPowVG8Zfn7bx%2F%E1%BA%A3nh.png?alt=media&token=d87c6e39-19e8-4439-922c-25ab68c32f7b) +![img](../assets/picture6.png) ### How to send BNB and BEP20 tokens **Step 1:** Click on your **BNB** wallet on the home screen. @@ -97,7 +96,7 @@ Transfer BEP20 tokens to the address copied on step 3. **Step 3:** Enter the amount and the recipient's wallet address, adjust the gas setting, then click **Send** to complete the transaction. -![img](https://gblobscdn.gitbook.com/assets%2F-MLfdRENhXE4S22AEr9Q%2F-Mk6O9ELs3CotKurrEvx%2F-Mk6Ot0QSUg8avKVrCVr%2F%E1%BA%A3nh.png?alt=media&token=9b17f213-3f76-42fb-804e-f117b211bddb) +![img](../assets/picture7.png) **Note:** diff --git a/docs/wallet/extension/add-account.md b/docs/wallet/extension/add-account.md index bb01df6..2134c3b 100644 --- a/docs/wallet/extension/add-account.md +++ b/docs/wallet/extension/add-account.md @@ -1,10 +1,12 @@ # How does Add Account Work + ## BIP39 [Bitcoin Improvement Proposal (BIP) 39](https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki) defines a formula forthe generation of a mnemonic sentence (also referred to as mnemonic words, seed phrase, recovery phrase, etc.)the generation of a seed from that mnemonic sentence. That seed is used to produce your private and public keys, but those details will be covered in the next post in this series. + ## BIP32 [BIP 32](https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki) is a specification for creating [Hierarchical Deterministic wallets](https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki). They are wallets that, from a root it can generate multiple "child" private keys in a deterministic way. You only need to remember the "path" of the child key.For example hardware wallets use them from a single root you can generate separate keys for Bitcoin (with path m/44'/0'/0'/0) and Ethereum (path m/44'/60'/0'/0). -## Add Account in Extension Wallet +## Add Account in Binance Extension Wallet Binance Chain extension wallet would use a similar way to generate keys as Ethereum, i.e. derive the private key using BIP32/BIP44 with HD prefix as "44'/60'/", which is the same as Ethereum's derivation path. ![img](https://lh3.googleusercontent.com/sPkp8aP0i3AavnavPbUG4Ywzff2FIiLrOuKsrcj4pcehz9ALqouSp_aq_T1STHYS2MCANaEwcghq5yPv7oJxAO9GmMXifmz96QJ-DWIcP3pcC-xcUsm1z7cAo1EnK_Tpz_1dkd7B) diff --git a/docs/wallet/extension/add-asset.md b/docs/wallet/extension/add-asset.md index e7e4530..b6d99cd 100644 --- a/docs/wallet/extension/add-asset.md +++ b/docs/wallet/extension/add-asset.md @@ -1,7 +1,8 @@ -# How to Add a Token +# How to Add a Token + ## How to Add Pegged Token -By default, Binance Chain Extension wallet will only show BNB your balance. +By default, Binance Extension wallet will only show BNB your balance. - Open Extension wallet and click `Assets` to see the tokens in your wallet. diff --git a/docs/wallet/extension/direct.md b/docs/wallet/extension/direct.md index d53fa0f..0e2a126 100644 --- a/docs/wallet/extension/direct.md +++ b/docs/wallet/extension/direct.md @@ -2,14 +2,14 @@ ## Key Features - Seamless Token Transfer -Transfer tokens (which support BC/BSC) between paired Binance.com account and Binance Chain Wallet. Without the trouble of copy/paste address and memo every time +Transfer tokens (which support BC/BSC) between paired Binance.com account and BNB Chain Wallet. Without the trouble of copy/paste address and memo every time - BNB Holding The BNB positions of your Binance.com account will not change. ## User Guide ### Prerequisites - Binance.com Account SetupEnable two-factor authentication for your Binance.com account (The balance cannot be zero) -- Install Binance Chain Extension WalletInstall the latest **v1.126.11** : +- Install BNB Chain Extension WalletInstall the latest **v1.126.11** : - Chrome App Store Link: https://chrome.google.com/webstore/detail/binance-chain-wallet/fhbohimaelbohpjbbldcngcnapndodjp - Firefox App Store Link: https://addons.mozilla.org/en-US/firefox/addon/binance-chain/?src=search - Create an account. You cannot use the accounts imported from your Ledger hardware wallet. @@ -103,9 +103,9 @@ Wait for your tokens to come img -### How to Deposit Tokens from your Binance Extension wallet account to a paired Binance.com account? +### How to Deposit Tokens from your BNB Chain Extension wallet account to a paired Binance.com account? -1. Unlock your pairs account of Binance Extension wallet +1. Unlock your pairs account of BNB Chain Extension wallet Click on the “Send” button. img diff --git a/docs/wallet/extension/ledger.md b/docs/wallet/extension/ledger.md index 11e0275..1a10d70 100644 --- a/docs/wallet/extension/ledger.md +++ b/docs/wallet/extension/ledger.md @@ -1,4 +1,5 @@ # How to use Ledger with Binance Extension Wallet + Binance Extension Wallet v1.121.1 is released and verified on **Firefox and Chrome** with Ledger Nano S ## **Connect to Ledger Nano S Hardware Wallet** @@ -14,7 +15,7 @@ Next: 1. Your first step is to plug your[ Ledger](https://shop.ledger.com/pages/back-to-school?r=da6d9b98e517) into your computer. Ensure it powers on and then input the pin you chose when setting up your ledger. 2. Select and open the Ethereum Application. If you haven't installed Ethereum Application, please read this[ guide](https://docs.binance.org/smart-chain/wallet/ledger.html#app-installation-instructions) 3. Enabling contract data for BEP20. The first item in the settings menu is “Contract Data”. Push down both buttons to select it. Once you have set your ledger up like this the first time, you won’t have to do it again each time you want to use it with Binance Extension wallet. -4. Open Binance Chain Extension Wallet and select "Binance Smart Chain" network +4. Open BNB Chain Extension Wallet and select "Binance Smart Chain" network 5. Choose "Hardware Wallet" in Settings. Then, click on "Connect" @@ -30,7 +31,7 @@ Next: img !!! Warning - Please note you cannot use Ledger account for Binance Chain network. + Please note you cannot use Ledger account for BNB Chain network. **You are connected!** diff --git a/docs/wallet/extension/seed.md b/docs/wallet/extension/seed.md index e27cb19..1450408 100644 --- a/docs/wallet/extension/seed.md +++ b/docs/wallet/extension/seed.md @@ -1,9 +1,6 @@ # How to Reveal Your Seed Phrase - - When dealing with cryptocurrencies or crypto assets like BNB or BUSD, it is important to always be aware of and have your private keys, seed phrases and passwords backed up in case the unexpected occurs. - ## Backing Up When Installing When you create a new Binance Extension Wallet account, you are given your 12 word seed phrase is the most important bit of information for you to record and keep safe when managing your extension account. diff --git a/docs/wallet/ezdefi.md b/docs/wallet/ezdefi.md index 108aaa6..74dc6d9 100644 --- a/docs/wallet/ezdefi.md +++ b/docs/wallet/ezdefi.md @@ -23,50 +23,71 @@ Download *ezDeFi Mobile App* wallet on [Apple Appstore](https://apps.apple.com/v ## Getting the BNB Smart Chain -### On mobile app, go to "Setting" => "Advanced Setting" => "Custom RPC Network" to see default BNB Smart Chain . On browser extension, go to "Setting" => "Network" to see default BNB Smart Chain + +On mobile app, go to "Setting" => "Advanced Setting" => "Custom RPC Network" to see default BNB Smart Chain . On browser extension, go to "Setting" => "Network" to see default BNB Smart Chain + ![img](https://drive.google.com/uc?export=view&id=1fNurU1PKnCqD_6HiJI8UQArARdkCzhHI) + ![img](https://drive.google.com/uc?export=view&id=1ToqGEDAtH9y1eg8nRNhb12qQo9RT_GxP) ## Add BNB token in your wallet -### On mobile app, tap on the "Add more", search for "Smart Chain", tap on the "+" button and create new address of BNB token -### On browser extension, click on "More Assets", search for "Smart Chain", select BNB token +On mobile app, tap on the "Add more", search for "Smart Chain", tap on the "+" button and create new address of BNB token. On browser extension, click on "More Assets", search for "Smart Chain", select BNB token + ![img](https://drive.google.com/uc?export=view&id=1zs1mq1s-CxZXtdQ4oCz60llAfuE_pMv1) + ![img](https://drive.google.com/uc?export=view&id=1q1ejHg3h5JabUkk5esJdyjRrFbjsiZHk) -### Back to mains creen to see BNB token already added on mobile app (or browser extension) +Back to main screen to see BNB token already added on mobile app (or browser extension) + ![img](https://drive.google.com/uc?export=view&id=1oTs296Lf6Qtfj-FO0N7Vx4TYf5B8x0mr) + ![img](https://drive.google.com/uc?export=view&id=1zF9Ccm9IZoVcK7FfuW1hlHibwGEn3PMR) ## Add a address of BNB token -### You can add new addrew address by create new, add Existed Address or import of the other wallet +You can add new addrew address by create new, add Existed Address or import of the other wallet + ### Create New, or add Existed address of the other token + ![img](https://drive.google.com/uc?export=view&id=1JlLaVMJdFffGOeVqUhej4ydgoFvAyGmr) + ![img](https://drive.google.com/uc?export=view&id=1SL96mN9EG1EdVqLyS3j8LC5pGh1t36Ce) ### Import from Private key, from Phrase recovery (or Mnemonic phrase), or from Read only address (or account) + ![img](https://drive.google.com/uc?export=view&id=1hQlQYwG-3KR4A6NJCE61g5prTRAdIQB6) + ![img](https://drive.google.com/uc?export=view&id=10bGcX_yxFfM_9VlLaFMbUXuRr7PvhT8b) ## Sending BNB token -### On mobile app +- On mobile app + ![img](https://drive.google.com/uc?export=view&id=1G21C0GVn2Y0uWd31n0IpVQEwIqRW-Lfw) + ![img](https://drive.google.com/uc?export=view&id=1quK-CWIkGLLeocWh37dfY0cpP-_jAYFY) -### On browser extension +- On browser extension + ![img](https://drive.google.com/uc?export=view&id=18C_xEt9bqaIEKR-UVik8Z1ya976nu6ts) + ![img](https://drive.google.com/uc?export=view&id=1hkgW4cR3ViKrXX9Cg3oSTvwYwTd83DKH) + ![img](https://drive.google.com/uc?export=view&id=1ie9FXo1GUgo2Uk0o3CZjZaiEt5upG6Eh) ## Access BNB Smart Chain DApps -### ezDeFi Wallet is fully compatible with BNB Smart Chain DApps. -### On mobile app +ezDeFi Wallet is fully compatible with BNB Smart Chain DApps. + +- On mobile app + ![img](https://drive.google.com/uc?export=view&id=19aJDDMGlRyMerrv9yCYMCZuAXusYyPaw) + ![img](https://drive.google.com/uc?export=view&id=1eBIFyIX2jBwqbw5Q3bopknabimXtrXnW) + ![img](https://drive.google.com/uc?export=view&id=19QC2j0FwdPGg6OUdqQzEjRLq7C4siRuY) -### On browser extension +- On browser extension + ![img](https://drive.google.com/uc?export=view&id=1WVLQZiJXCJfjjEWMxziHsa92s67-Gtmo) ## ezDeFi at a glance diff --git a/docs/wallet/faq.md b/docs/wallet/faq.md index 2358841..981e41f 100644 --- a/docs/wallet/faq.md +++ b/docs/wallet/faq.md @@ -1,14 +1,12 @@ # Binance Extension Wallet FAQ -## Tokens not visible after withdrawing from Binance - +## Tokens not visible after withdrawing from Binance Many users who interact with a centralized exchange like Binance eventually want to withdraw to a wallet that they fully control, like MetaMask. So once you've used their withdraw form, what could be scarier than not seeing your tokens? First, you'll need to use the MetaMask add Custom Network feature to add the Beacon Chain or BNB Smart Chain's RPC URLs endpoints to your MetaMask. Once you've added the Beacon Chain or the BNB Smart Chain to your MetaMask, you will be able to select different networks to view the assets (you may need to add Custom Tokens too) held by your selected account on that network. - ## How Much BNB You Need To Send Tokens if you try to send tokens without having any BNB in your account you will be told you have insufficient funds. This means you do not have enough BNB in your account to cover the cost of gas. Each transaction (including token and contract transactions) require gas and that gas is paid in BNB. You can think of this like a transaction fee. diff --git a/docs/wallet/infinitywallet.md b/docs/wallet/infinitywallet.md index 653d263..9d037af 100644 --- a/docs/wallet/infinitywallet.md +++ b/docs/wallet/infinitywallet.md @@ -18,7 +18,7 @@ Connect to DeFi protocols and Dapps directly on desktop or mobile from within th ## Install Infinity Wallet -### Go to [https://infinitywallet.io](https://infinitywallet.io/) to install the most recent version of the Infinity Wallet. +Go to [https://infinitywallet.io](https://infinitywallet.io/) to install the most recent version of the Infinity Wallet. The **Infinity Wallet** is currently available to be downloaded for desktop devices on **Windows**, **macOS** and **Linux**. In the coming months there will be a mobile wallet released to accompany our revolutionary desktop wallet. diff --git a/docs/wallet/ledger.md b/docs/wallet/ledger.md index dcf866c..4df9507 100644 --- a/docs/wallet/ledger.md +++ b/docs/wallet/ledger.md @@ -8,8 +8,8 @@ hide_table_of_contents: false BNB and coins on BNB Smart Chain are supported by the Ledger Nano S hardware wallet. The following describes how to use Ledger Nano S to connect to BSC ## Requirements -* A Ledger Nano S hardware wallet with latest firmware. -* Latest version of Ethereum app installed +* A Ledger Nano S hardware wallet with the latest firmware. +* The latest version of Ethereum app installed * An internet connection and an available USB port. Use an adapter for USB-C ports * U2F compatible browsers: Google Chrome, Opera, FireFox, Brave diff --git a/docs/wallet/math.md b/docs/wallet/math.md index ff98856..cb6c88d 100644 --- a/docs/wallet/math.md +++ b/docs/wallet/math.md @@ -5,54 +5,57 @@ hide_table_of_contents: false # How to use Math Wallet for BNB Smart Chain ## Install -### 1. Get App from Chrome web store +1. Get App from Chrome web store img -### 2. Add to your browser, for example, Brave +2. Add to your browser, for example, Brave img img ## Setup Your Wallet -### 1. Set your password +1. Set your password +2. img -### 2. Choose BSC network +2. Choose BSC network + img -#### Choose BNB Smart Chain from this list: +3. Choose BNB Smart Chain from this list + img -### 3. Create Your Wallet +4. Create Your Wallet img img -### 4. Save your private key +5. Save your private key img It’s ready, and now you can get some testnet BNB from the faucet. ## Get Testnet Fund -### 1. Copy your address. +1. Copy your address. img -### 2. Go to +2. Go to Go to explorer to verify BNB is sent: ## Transfer BNB from BSC to BC in Testnet -### 1. Create your Binance Chain Ganges Testnet address with tbnbcli +1. Create your Binance Chain Ganges Testnet address with tbnbcli * Download the binary [here](https://github.com/binance-chain/node/releases/tag/v0.8.1) > If you already have a backup of your recovery phrase from Binance Chain Ganges Testnet, it can be reused here. ``` tbnbcli keys add {wallet-alias} ``` -### 2. Go to this page: +2. Go to this page: Go to this page for mainnet: @@ -62,11 +65,11 @@ Paste your testnet address to `Recipient` and fill the transfer amount. Please note the fees are also deducted for paying gas and cross-chain transfer. -### 3. Approve your transaction +3. Approve your transaction ![img](https://lh3.googleusercontent.com/1LZhflItAfxbbPLppP_2mZQXhKlKbvAhk51-Or41wTaHY7Rs3B5g62QO1_4ymA0rgx8HoEmvCyEWbWSm_LOrxXyvHWZ24EsRVSJoLELHdprSiLAMLd5cDiDm_89Nd5z78CP0fPw5) -### 4. Confirm Reception in explorer +4. Confirm Reception in explorer Link: ## Transfer BEP20 from BSC to BC in Testnet diff --git a/docs/wallet/metamask.md b/docs/wallet/metamask.md index 3b3e1ed..a4e2f64 100644 --- a/docs/wallet/metamask.md +++ b/docs/wallet/metamask.md @@ -25,6 +25,7 @@ It’s supported in Chrome, Brave, and Safari browsers. * Click on “Add to Brave” That’s it! You have successfully installed MetaMask extension in Brave! + ![img](https://lh5.googleusercontent.com/1Xct4vmkSVmPfqznMI4mEa_icigbKVQ0WeVftXE8MOjvk3kW9HJrdIDEoeTi8ARlv6rrlLHmtbhleMFuVmlf5NjIbluOBSQUgLU-HGAg518plJsdap5XXpNupZVCjiFZBaOsO4Ad) !!! Tip @@ -35,15 +36,17 @@ That’s it! You have successfully installed MetaMask extension in Brave! 1. Click on the “Create a wallet” button ![img](https://lh5.googleusercontent.com/Tnz34GivDYUUsCfoi4GZvJ-XXcACX2m5BamPzlQZ7nI71XBVrYYoCv-Kot4E24QHz3P3tzt31O9OeeV-Lbtn_ZrvYGNpp-GWIMWN82MdPslljJZMCwkfPM8SmsBGWL7bFcPTKWG-) -1. Create Password of at least 8 characters -![img](https://lh6.googleusercontent.com/q2Yq_dtl38CD2V41amALyCSr2IjrLeEYgpEQh1LKrI7iVWjzkWse0FdLPNlCb_qqjR6mI3vfkKxYgHemCBgHLkEPwPErBXb0ioGxC0GGEzGyh_JYz8kL3MukPll-xhgMpjZmDNXp) + +2. Create Password of at least 8 characters + +img 3. Click on “Create” and then write down your backup phrase. -![img](https://lh5.googleusercontent.com/hluBiNbCN4-8J31jX_5j2OqoNZZxb1WoApMr8RnxQ68FswgpD5D0WCZLb01nMVxDR57k-7WlDndvHEIgpB9pVHCr6O9KgenSPG6ayZrZ3D2wtZuWfTiu5Pbi_mDM19414i5FUDl4") +![img](https://lh5.googleusercontent.com/hluBiNbCN4-8J31jX_5j2OqoNZZxb1WoApMr8RnxQ68FswgpD5D0WCZLb01nMVxDR57k-7WlDndvHEIgpB9pVHCr6O9KgenSPG6ayZrZ3D2wtZuWfTiu5Pbi_mDM19414i5FUDl4) 4. Select each phrase in order to make sure it is correct then click “Confirm”. - + ![img](https://lh5.googleusercontent.com/rokxHmh0CZCjyIQqrngQm7qfEGRXbBvHoHuiZHvAon4_k0DLirngnQKqzucSJfrGdyVf-42IhwtDhz2C4PLm4dUjWH3rMrOTPqNC0kUYMSQEflF1ltbGwtiAYFQoxvyKfcNFGJCj) Congratulations! you have create your MetaMask account! @@ -52,115 +55,160 @@ Congratulations! you have create your MetaMask account! 1. Go to setting page -![img](https://lh5.googleusercontent.com/NqWPIv1MrMJ-W2wDKjxtdxcdFhDwiqhsZ6G6MY6FQnhxPTCCPfPHBJ59vBl1ddxpbfV11ufETWAolV1s9YjCYHPeJCKW1S-sr8gfjcFt3swXM-p3IgafNBqPZ86DvThK-I9gKbrw) +img 2. Add a new network - ![img](https://lh5.googleusercontent.com/wRHX351ldc2PWT1wXE6U1NYyUkaEmVHVoA0Ex4LKz51prqRgwJcBCs2DhL0lQ3PVmE7Sv2dE02ReXcHlXNaf0lczFZtFl5htOtAzUYkDzu5eySe7y4wpcMaCzY6GaHv6NCXM1qZQ) - - * Testnet - * [RPC URLs](rpc.md) - * ChainID: 0x61, 97 in decimal (if 97 doesn’t work, try 0x61) - * Symbol: BNB - * Block Explorer: https://testnet.bscscan.com - - * Mainnet - * [RPC URLs](rpc.md) - * ChainID: 0x38, 56 in decimal (if 56 doesn’t work, try 0x38) - * Symbol: BNB - * Block Explorer: https://bscscan.com - -3. Claim some testnet token to your account -Click on your address for copy + +img + + * **Testnet** + * [RPC URLs](rpc.md) + * ChainID: 0x61, 97 in decimal (if 97 doesn’t work, try 0x61) + * Symbol: BNB + * Block Explorer: https://testnet.bscscan.com + + * **Mainnet** + * [RPC URLs](rpc.md) + * ChainID: 0x38, 56 in decimal (if 56 doesn’t work, try 0x38) + * Symbol: BNB + * Block Explorer: https://bscscan.com + +3. Claim some testnet token to your account. Click on your address for copy + ![img](https://lh3.googleusercontent.com/3-6iXj8gVhTYrhzkDHcRBWOMvkkfUwm2W8aDssNTZ5bFqCsjq1BlY-nhCJDZWwT8kx-9URnQur1JxmAot-3Nu1lhypqVM068MovqDlv-oXPDJtz4PwsNTYGM3TZM_F5uRlnUwrP3) -4. Go to faucet page: https://testnet.binance.org/faucet-smart, then paste your address in the box and click on “Give me BNB” +1. Go to faucet page: https://testnet.binance.org/faucet-smart, then paste your address in the box and click on “Give me BNB” !!! Tip Please note that you can only claim once every minute + ![img](https://lh6.googleusercontent.com/DqxU17JcP9iW5f1yUujY5S8w2m32yv00jrQgJJ0vp_OptrNwCWotbb1_X7msseR72OpXSj8fxbLXhWZgpVEtaMJ_STof2D2mZcGsl6Qh4-KWJH8LsYu97SXySMToDnx15qS4po5z) -After the transfer transaction is sent, you will see an increase of your balance![img](https://lh6.googleusercontent.com/Azy6npo0J6hrV_H_X2-IfVcYHE7U6vaMEh2_GPnVb_5oKZSy9Qqa43QYlzEZlmgcJHnMYbyAvyFNJ16Opcn4xbNRO_6Z11Gnl0eePqOkwOfgOptGT0H9gWG2uepkRaHlYsOZ1w4b) +After the transfer transaction is sent, you will see an increase of your balance + +![img](https://lh6.googleusercontent.com/Azy6npo0J6hrV_H_X2-IfVcYHE7U6vaMEh2_GPnVb_5oKZSy9Qqa43QYlzEZlmgcJHnMYbyAvyFNJ16Opcn4xbNRO_6Z11Gnl0eePqOkwOfgOptGT0H9gWG2uepkRaHlYsOZ1w4b) ## Transfer BNB to other BNB Smart Chain address 1. Log in to your MetaMask -![img](https://lh3.googleusercontent.com/7HKZWIzMtfolKrO42OI6Zw3XCUj4CjKo15mXT8n_B3J6CC4Po3nDK59ORv2qvgL_G84I_JOYrnp3oNXcfSO3u0IsXBo4vvB3CpaberJ86ORb9_02campWQOyBr-Y07yYPI68qR85) + + 2. Click on Send button - ![img](https://lh6.googleusercontent.com/uLiVRN4qJW3DOxgq3zM-f5JFrZRe22ipiPOQq72IgEY4YlN6gUyJiJoWPO7cJTyblU9OtWtrkRJFe4XPLcMZk2Z06M75PnA1Ql9pw2CLUL1m1PZkhDOW3lJMlvUiAe4hDUwuwKTu) + +img 3. Copy the receiver’s address in the box -![img](https://lh6.googleusercontent.com/m6RLRP6FeCy63skJ5KP6Qx94a9lzz1fLRuxpW1hf2FP932EpG7QjRaxmVNwFm4tYMp9OQvAf_xSqlO0XR-zVz5a5YXn6S7T1hprdg4n51YqjcX1jjlh-O5mw9EIjiPbiLDvs2goG) +img 4. Input the amount - ![img](https://lh3.googleusercontent.com/Pg1DZtsQJuyWbYtZ4kwgpLeJ72jmQ30CYQWJ7YjclMjKEFaw4DZnMmM8Wzusf2p7dVwyNvcFagZulQXKTv1NAnbYR5CqvIaKWrBBRz85q94EkXev9gBa-CLtUazU-IWpZSRw6OfW) + +img + 5. Go to Advanced Options to modify default gas price when necessary - ![img](https://lh6.googleusercontent.com/ffcVo2g2uczLTxksHa0wsZamfdPqtFWjsixSyQQPwWESztE1-didrWM8hdwhGCNOuf2qgmAujKywpB8Xr8ENd_awP8bVLoOjkzVrLhZnxOrperDAYd1fNJtS9_6_88cS2vDa-dGS) + +img 6. Confirm your transaction, then click Next - ![img](https://lh4.googleusercontent.com/vEK49MvskI51rOeENZsdh3hkdLWDCIGnPXdUAgIvcnMubfKGuyEvbcpBDDNCtxOyAKYDcQqerxpQae4WWuuTOhOYbHZWPRfJUZSwubYtejvDeLcYpLYOCU9pf7UexaOOC3ctP1fe) + +img 7. Click Confirm to send your transaction -![img](https://lh6.googleusercontent.com/6zke1TXCT9l8uzT1RkUbOFyijv2xR8GwXVqNhVN1KRVzAONn-5h-jG0ffxxDWrXXPgbyJzpiAHUU56ADomzmac_Tkpt_zx2LGTpDrobcZDE-_Z8vF-IVgxPNW3cQIj-x8dfkeEQ2) + +img 8. Wait for your transaction to be included in the new block -![img](https://lh5.googleusercontent.com/1QcOjIgBnGMPpA-b_RDi5T40ZL8uXlmjTVMpWFN-GOZHM14FQm7EEbIqKYZmv5F7f6P4dInjhvOScQ82Fo_qMMzp2ocXrBwL9zIXb4rnxtacSzQdAoBdBwBH8ckevoG-cuHdiGiu) -1. Once your transaction is confirmed, check it on block explorer by clicking Details - ![img](https://lh3.googleusercontent.com/QuX2cP0ZnhqnCY5xVOlodwRo1bEF126gM7XgjzLAZK2ZWlMa7z48dX-4rgC2nuiHC9-EOby69BuN-ANQtEQyL3JhnJm2KsAxAUbsEnlOK_5Wnj2Ir-J5CHC9TR8MN4bqYthY2BfB) - 1. Click on your account to see "Details'' - ![img](https://lh3.googleusercontent.com/Ssn6x6ZcRHS1V-LuI1D7eRIjPgxQF1SxlUKxQuJ5NcpPkf77XVTC-tEEWmqkxS9esWOsaQo0Qw93I7_rX6M6_qmjlm_HGqLuCNL-fuDPDTKYHXObCGcb7xCL2kRI6uideSBdny_0) ![img](https://lh4.googleusercontent.com/OrKkETdaAMyuqWFsaoh6ngdkS735NgR8pIYJYoXMflrGulBSQp3Z8tl3Ttugd2CftF4eHVBJFUV4KKPjbpMCQZ9qtOi10w81g08suXC9ukN4EQpwQEESXv4BwhsvjKiXquzHVngZ) -Verify your transaction in Explorer: +img + +9. Once your transaction is confirmed, check it on block explorer by clicking Details + +img + +10. Click on your account to see "Details'' + +img + +
+ +img + +1. Verify your transaction in Explorer: + ![img](https://lh4.googleusercontent.com/BOOwJeG2f0LYGZrud8rtD4fyGTMXWZO_EVcHE8Iiwo3VWHGCDPll6lEtp-aquCG6A_naVQbhYoHZm-mkSf0PIQdKjlyYzC-OXkHIncvryftHbSRjQxq0rg7CaORFskxSs2zhzDKG) ## Add BEP20 Tokens 1. Deploy an ERC20 contract at https://remix.ethereum.org/ -You can create a new file or import a sample contract: -![img](https://lh4.googleusercontent.com/Kzs4VR0Xq8JPnRUKasYl01i0bllJNPcTLjhDpzKAHrzsHUm3789-sXs3m0UQZxjk8E4MOugCdga2_7JemvdGcxl_yqhK1Jc4vRan6ZxCo8CUv2BxmIrBPsTcBMEsNrHqfNpkxyU2) -![img](https://lh5.googleusercontent.com/Jgip5Dl46QEEiDo1Gpy9Oc4tuPhqyV9QTwI_72PmJOTG8Fd2K_6BG5K8X-U_OvE2u6fjfXUKvVuxL-hITWweD2aX5GUP4nggR4qwTILRdXyM1tZDSxcYf1DDc0PmQYJK5D24WSVC) -1. Connect your BNB Smart Chain Account to Remix -![img](https://lh4.googleusercontent.com/ZxPg5aaTnSArl6j0z5twRbJTRuN7S7IlkFFWL1gkai1EoHDYXTdHJvqL2iREmEIq5c4ERY2BN3Sf180fE77ti8-6BoWGrCV7G68SV9a2HTVYmM7rONn7ARZHVMwnzSXGQmliIT32) -3. Select “ABCToken” contract and compile +2. You can create a new file or import a sample contract: + + + + + + +3. Connect your BNB Smart Chain Account to Remix + +img + +4. Select “ABCToken” contract and compile + ![img](https://lh3.googleusercontent.com/AVz8Ud1YCb9tA7iuFvzP_JwACrbzugcSpOj_ZZZmew8Gy3u6vwC4biOSEExLhz6Euvgh1Ow8L4LIbpMYw9upNTWHnYJnmRlsNKZF_sVpYwMt11SWv5spZ2d3n7PiAZOts6exDg9W) -4. Deploy your compiled contract + +5. Deploy your compiled contract + ![img](https://lh6.googleusercontent.com/x918VLGGD8BG8-27sMOuqhpuVawQPpM6paq-7WOi3PVjmQJw4Lo1jlNFCa9R_TPYHJgFc-7xrRuMxTzdlTUzVPl-XQG8hBYqmlsk8VJr3oBsnI4kfyBVUfuiSzswQl2-9kK8fNdf) -5. Adjust Gas Fee for your contract, then confirm your deploy contract -![img](https://lh5.googleusercontent.com/ciF5AVMG8DziCOjktsUAPdPlEgaqsrBOfLc0cYtYX1kWm1GgKNNmSLKqWuR628sQKU4iKXyE1mIT2h2ownM3POMUu6tdMuFUebmYVLy2d54l6j30yJrGr6ymX_tlQHDTWjKIgzCx) -You can see that there is a new create contract transaction in block explorer -![img](https://lh6.googleusercontent.com/7xsQbT6W66buPH6mfKKt_gXKa0iioDD8P98OmtMoU717ADZ7USMssS0UEMHcEQphQBRXjJsiSInNSs25OroEcIstxHSKGu19e-NWTg08-qyN1myyIdDO-OCcySpZ9m9-E2GPuACL) -6. In MetaMask, Click on “Add Token” -![img](https://lh6.googleusercontent.com/oztOHGoDrNjAa0UuBvWmhBATmUIovWu9svZff_Wwl2LVl3qZosdjHRQVQhZT-ImWYQS5P82TzzlOl_trfGgURBrlp8pORngqC40ho72lN6JsG2pr2nN6x-W8reGcz1CiqJGYyStX) +6. Adjust Gas Fee for your contract, then confirm your deploy contract + +img + +7. You can see that there is a new create contract transaction in block explorer + +img + +8. In MetaMask, Click on “Add Token” -7. Choose “Custom Token” and copy the contract address in the box -![img](https://lh3.googleusercontent.com/IotGapmGylVAuwIS5JpXjLVF4faQ3Kzv8Bznc3tkue_MJv8lP6C_RRYFktcMnBmi0gAcIGeYs5nlqj5Ip8o_p2enVXF478dCWpA1Ni4YGHpFtdbrXybXXdGelX2coOGTnJ9Tc9er) +img + +9. Choose “Custom Token” and copy the contract address in the box + +img + +10. Click on “Add Tokens” + +img -1. Click on “Add Tokens” -![img](https://lh4.googleusercontent.com/K8Ry7dTB-2qV9J0W04L_RGK7LD8rim_gOXZlDyahgCnPo1q_2RnRcOuQ-mrgmi9zgDbSYt1N6SY7_am0uk1dmJGUJJ0pcriClmCOfR9OdVq4uL7AQfJftpk16sMtTyo4yRY3WxCW) Then you can see change of your balance -![img](https://lh3.googleusercontent.com/PPvqLu8VePVzrlR281HHnmclkj3qcRsKWA3zvJsUyCKiTP2NkOeI11v88DEUgma7KHg3OzU4N0Fko_8XRrXVJEFGtNlSd0D9elxjwypO0MGG9BrRBh5KGsVYEuAj1gIxo5XK5Wfu) ![img](https://lh5.googleusercontent.com/jhQwd9OYfxLMBTlREiy_igjx5AFGa_pTwpEG9sc6Vvkf0YGzuwyZtLUylFEF0OQwpOYIFxwt7PNRARQHYsAxNjfUHwcRR6M09YxRdHBDsfTTHlsDXkgUIEyzAc6PRCGIAh4EuuFB) + +img + + +img ## Create Multiple Accounts 1. To create multiple accounts, you click on Profile icon on MetaMask and then click on Create Account -![img](https://lh6.googleusercontent.com/2Xza8K_NtkE63R1j3NwBH7rxsay9zOKu_v-3fawtt86On_vGavW87c1qUP0JpfIaWRc5QPTk6ZqC6bmm_-6-829WnU5woMXKh7BM0-0OkraO55LKYMwuZxEZ3R2k0-SsyNnh4cNc) + +img + +2. You can then add an account name and click on Create. + +img -1. You can then add an account name and click on Create. -![img](https://lh6.googleusercontent.com/86QMeVAhod3bDV_3ZqoWVB-D-E4CdPyb4iJdbvbBGwVPrcN0ZBqYeRYqf9gk9C4DxzW0Z86KK0a8vf2CKQGB6NlqGFKv95gON5LrtXL4-uT1LLMvSmdYePEa1ilD9MswEbpwtMGP) +3. Then you can see a new account is created! -1. Then you can see a new account is created! -![img](https://lh5.googleusercontent.com/uhVQO7NLq_x9y8oBSfmT0PB4SohfUKUSZwN5qxxF6xA_6vNgU-QRpAQENdLQRk8hyc_gSukrAUqosIv_OUcJv5AviDn2TQ_6U8QWXx02HgigXO7w5BRL3If3Mrx3KOHRWw7ay3U8) +img ## Upgrade Since the release of v8.1.3, MetaMask sometimes displays the warning message "Invalid Custom Network". -![img](https://lh6.googleusercontent.com/AbMd49RFlERw1E_OpmURgZxqYHqHOXpPJLtT-ysIB2oAwmVf054jzQndDxJOfqj-FFCR_Beb1LTXvw6T7TvO03aVlHGmEaE1N2J5mg5kUm-dbcaXnlLH-0RLM-SGV0brrlweEyrQ) +img To solve this issue, click on "'Settings" and enter Chain ID of BNB Smart Chain network again. If **56** doesn’t work, try **0x38**. -![img](https://lh5.googleusercontent.com/wRHX351ldc2PWT1wXE6U1NYyUkaEmVHVoA0Ex4LKz51prqRgwJcBCs2DhL0lQ3PVmE7Sv2dE02ReXcHlXNaf0lczFZtFl5htOtAzUYkDzu5eySe7y4wpcMaCzY6GaHv6NCXM1qZQ) + ![img](https://lh6.googleusercontent.com/vKWf01WY7u0bFp1Iww2VgFzqnk_Zw2yhBQfBCfG2UAE5aHJOZouYGNGGS1C1w5yvEMzmynwRcE1gwZS9VZ1akfyQItzF6-2Sw5I9M33w4caHqnKoAN2GhajkqqQYBnc-IiOkGrMg) diff --git a/docs/wallet/staking.md b/docs/wallet/staking.md index e3f46e9..ba2f1a7 100644 --- a/docs/wallet/staking.md +++ b/docs/wallet/staking.md @@ -1,23 +1,23 @@ --- -sidebar_label: Staking with BNB Chain Extension Wallet +sidebar_label: Staking with Binance Extension Wallet hide_table_of_contents: false --- -# Staking with BNB Chain Extension Wallet +# Staking with Binance Extension Wallet -## How to delegate your BNB with extension wallet +## How to Delegate Your BNB with the BNB Extension Wallet -- [Install Binance Chain extension wallet](binance.md) +- [Install Binance Extension Wallet](binance.md) - Go to the staking page: - - Mainnet: + - Mainnet: - Testnet: **Testnet example** ![img](https://lh3.googleusercontent.com/62tAplbV-lv5Hy5-lrUEvkLk29GT_LPpsRmOq-tR5az_1KwVkdLjG__Oxoe2skKSjqkDA7TqGgq1YlPDkXEFiejiD_mSyhLUiyD8O4CCH9nBztTu2ctetdHfXZH85b6Ge9kHEV2Q) -- Click on “Connect Wallet” +- Click on "Connect Wallet" ![img](https://lh6.googleusercontent.com/4o4Aj53r-LincYLkStkIXTi-wTHuAj4BKkS-Yt7pWokTEfiFtjstvMFHt4yiTr5WrNwsqfUFdhWhsnUDCv11UpogqHo08vd41-o7bcFRLSOlsdGmJmLhdfqNHK6Pge4IToISwU-R) @@ -25,33 +25,33 @@ hide_table_of_contents: false ![img](https://lh4.googleusercontent.com/rCFd8jPzCspJDYEKO02JvZTVhNPWL1UGZIENnhIJ9_7h-8UXp20PhGxg2xzwNmRKQiFRLnrmMVaTDd1dYAmVk1b2WVG9DBnsuFFYOlpI-xCeZhtObAfgjzVUlmqQ43BWCyPKhwjl) -- Click on “delegate” and input the amount +- Click on "delegate" and input the amount ![img](https://lh4.googleusercontent.com/-mfR40ZPqZ3yih90oXNee4DULAnbV1l3ZWbkGgqgi07tdXDcCFR_5eA5PY23vW_GqO0sXlkwTr_laljPl11COpX0hB4KBA6_dHgGGUqe8y2YxYNECcKZvc75GdW9WlaFJf4zx776) -- Confirm your transaction in extension wallet +- Confirm your transaction in The Binance Extension wallet ![img](https://lh5.googleusercontent.com/U_ji1L_LgRaxKmRHFvvUwtiOb7SXqTZ6GrMiqvK2gR_aS21bVTqgTHp2aF207pKxfZaYd38QFvRau20n8zbd_MZ1_6ktWEoXYbRrf6vSUdp2W1yWfwqWFqbhjvrbGiX1YRMzJj7b) -**Success** +- Upon **Success** you will see a similar output ![img](https://lh5.googleusercontent.com/avie7-_5sa8jnI8XdFa1EytOMB9pZVULKQntno3hk3w3MuWJtwE9WNYayKTA0W7mymtJLG5mKZFk42TvUyGa_qSAi5rIH88LL2riKln35loCEHl3ntaqZEspWwUMbOgPdZbhOSp6) -- your delegation overview +- View your delegation overview ![img](https://lh4.googleusercontent.com/m8hyetwRYQS-HLcubdSkuhjAAFDyWQptswGJKUWaAwcK-m1yVblM-5pXL599ogLJ1DjkKUo75WOzt6JUDxrnUNwNANDa1ZpuyHxlDxRg7enDF8jkhF70SkWeAPq6hAARAcphlaKw) -You can see the staking history here +- You can see the staking history ![img](https://lh5.googleusercontent.com/P3TMkfcn75wK5-DUQNcxl9XGRPhSYFZR561Ov6ko3jH_gnTImh561tYk0keFORWCET28LxhnnU2iChX2CzZd1a0R4tH4_GMKziRpsZWRtHhZeFmi5MF-WE9g0XcWkzLHSxwQggVu) -## How to redelegate your BNB with extension wallet +## How to Redelegate Your BNB with Binance Extension Wallet -By staking you BNB, you participate in the selection process of Binance Smart Chain validators and earn rewards. Staking BNB is critical for securing the network. Validators can self-bond, meaning they can delegate BNB to themselves, and they can also receive delegations from any other BNB holders. +By staking you BNB, you participate in the selection process of BNB Smart Chain validators and earn rewards. Staking BNB is critical for securing the network. Validators can self-bond, meaning they can delegate BNB to themselves, and they can also receive delegations from any other BNB holders. Redelegations between a unique delegator, source validator, and destination validator can only happen once every 7 days -- Click on redelegate +- Click on "redelegate" ![img](https://lh3.googleusercontent.com/mgnbGGdmvIfMyj5_cWTwOtaN-8uQn8t7hBaP5cZ297MH6-KE-v_pWRNl-sGjecPRp-K7eoKa4BvEFLYBvOxoPlO9Weq6RDijN2xvGC6-VhS8poycBwkOSOKGjtmw0jj-S1NdWsB-) @@ -59,11 +59,11 @@ Redelegations between a unique delegator, source validator, and destination vali ![img](https://lh4.googleusercontent.com/sQ23rDrcUIccCmjwHp0jgHRqgkJwm_nkPH2cvHiL5guqj3Xk-1VfPxbM_Okx_zCrJswFoaWq03fwFh0ATLKvEvVM-OmgVheFCNHbrK9Plw4tmilNO7UFSLYVBUjExSyrskiuNsPs) -- Confirm your transaction in extension wallet +- Confirm your transaction in the Binance Extension Wallet ![img](https://lh6.googleusercontent.com/fSkKxBxzsGcbnKrflFG-mEysjAVV7a4MqbImMKQgN6jgEbvcOLoMET5nWK7rUEEev-9iNTPeqqQb-Vxgk3wXB9WFkA4OHtIkz9VI5mBPmAXxAiIkTYZgs2bTgib-kmnlWeSK0ZpH) -**Success** +- Upon **Success** you will see a similar output ![img](https://lh5.googleusercontent.com/SyWHb2uqlxzZcwCLULNTuSAunBTIYrbidK_JEu7xSwmAIFViv8rScXp6ogoJKWPmduqKcOuM_ypt1RPtzgG0L9fIqoEHvtREuVSrYNTRTHuJmIWoz_qJU9O4HppOZ3DmxkRG6gqr) @@ -72,22 +72,22 @@ Redelegations between a unique delegator, source validator, and destination vali ![img](https://lh6.googleusercontent.com/O1FC9Fas2TSwootvC7HoJKR2O6dOLpxsKtf9px-k7DLlsZHNWuyJ_fQkvWEvtRQQNBxbP5iKN1EHbbj1SD3RQXYeh_vFYzlISAfBkErbvDmTU_hprGw3dTamm9Pmfzr84Kh7A3hm) -## How to undelegate your BNB with extension wallet +## How to Undelegate Your BNB with Binance Extension Wallet -- Click on undelegate +- Click on "Undelegate" ![img](https://lh6.googleusercontent.com/FsvTIitDmIut49wYjPr6-gKRrQSx__IBKE7Ga74Uk1SPdH1WmuPFA50WLdsUmd8B78V9kemXA91F01rocBD53M0whofHnkMVE4bkydOdu8-ooGiNS9UlkN1Dv-KZnbcu_imph6_6) -- input the amount +- Input the amount ![img](https://lh3.googleusercontent.com/dMuio1mZQGq4AmKKR-GPLYkBFLl3U2F4G-Ddm8qKKAdD682LjIMI97rCzx-GFd4pxMcsVvCwszUXUbxnO-txr3bmHd3EcqL1Qw-mqMG61S0Tj49VA7toQmyd8rDqPqYo24kK2mow) -- Confirm your transaction in extension wallet +- Confirm your transaction in the Binance Extension Wallet ![img](https://lh6.googleusercontent.com/2BBgV-Em4WudnNIeYPHGqxNSYKL0W-jW6-MFZ0L4sC7xl7TVSIccV6lslr6uJrnP28W9D7O9Qkr5MUhLp48aew1-tI-pD8gW_1aorPr7BX8l9v75zd9KaXWV1U3bzwjN4yyxAA0o) -**Success** +- Upon **Success** you will see a similar output ![img](https://lh3.googleusercontent.com/KneZHA6Hkm1SudGWIR-7Vl8F5N2tlj7QTQ5-f-Twyn79RgsoFPhBBIkwrVl5OLOYbbRSYXQ4gguJUqlczSiW7qGarqN-Kag6NyC7eD3P8-2QCOX6f0YGDJrWQnDRDOw0ElkCkAgM) diff --git a/docs/wallet/trustwallet.md b/docs/wallet/trustwallet.md index 72194f0..4c6f2a1 100644 --- a/docs/wallet/trustwallet.md +++ b/docs/wallet/trustwallet.md @@ -9,68 +9,69 @@ hide_table_of_contents: false Trust Wallet (trustwallet.com ) is a secure, open source, decentralized and anonymous Ethereum wallet application that supports Ethereum and over 20,000 different Ethereum based tokens (ERC20, ERC223 and ERC721), seeing significant user adoption since its launch in November 2017. The company has built a reputation for security and has held itself to the guiding principles that it will never access user wallets, hold private keys, and ask for personal information. ## Install Trust Wallet -### Go to [https://trustwallet.com](https://trustwallet.com/) to install the most recent version of Trust Wallet. + +1. Go to [https://trustwallet.com](https://trustwallet.com/) to install the most recent version of Trust Wallet. **Trust Wallet** can be downloded from the [Apple Appstore](https://apps.apple.com/app/trust-ethereum-wallet/id1288339409) or from the [Google PlayStore](https://play.google.com/store/apps/details?id=com.wallet.crypto.trustapp). ![img](https://community.trustwallet.com/uploads/default/original/2X/6/6b642949b5dd4eebe98e7aa167e7ff04cc70b892.jpeg) -### Launch the app in order to create a new wallet and accept the terms of use. +2. Launch the app in order to create a new wallet and accept the terms of use. ![img](https://community.trustwallet.com/uploads/default/original/2X/5/52d46c162192b89edba1b2b3129c266fb7e4d92a.png) ![img](https://community.trustwallet.com/uploads/default/original/2X/2/2d9d6a99f9fc6dc27c6aeddde84b56ce73697382.png) -### Backup the recovery phrase and keep it secure at all times. +3. Backup the recovery phrase and keep it secure at all times. ![img](https://community.trustwallet.com/uploads/default/original/2X/4/41b2495609f16a9194bf6c3df5174c5ac5259bb3.png) ![img](https://community.trustwallet.com/uploads/default/original/2X/d/d07d337aa4622d9119db503510230e37c9f1b169.png) -### Complete the initial setup and you're wallet is ready for use. +4. Complete the initial setup and you're wallet is ready for use. ## Getting the Smart Chain Address -### Tap on the toggle at the upper right and then search for "Smart Chain". +1. Tap on the toggle at the upper right and then search for "Smart Chain". ![img](https://community.trustwallet.com/uploads/default/original/2X/a/a6131d70d21d5e74910f8d23b285db49bd4f64eb.png) ![img](https://community.trustwallet.com/uploads/default/original/2X/6/6577162a9d77793646b6adf99ef3f097c67476ff.png) -### Get the Smart Chain address by tapping on Copy, or Receive to display the QR code. +2. Get the Smart Chain address by tapping on Copy, or Receive to display the QR code. ![img](https://community.trustwallet.com/uploads/default/original/2X/e/ea9fdbbc82484c719e5f46de57246f12784b0338.png) ![img](https://community.trustwallet.com/uploads/default/original/2X/3/3be288062f1a6e4504e1cb533819b45e0be4a242.png) ## Receive BNB and BEP20 tokens -### Your Smart Chain address is able to receive BNB or BEP20 tokens. +Your Smart Chain address is able to receive BNB or BEP20 tokens. -#### Withdraw BNB Tokens from [Binance](https://www.binance.com/). +* Withdraw BNB Tokens from [Binance](https://www.binance.com/). ![img](https://community.trustwallet.com/uploads/default/original/2X/5/5e1d002bd14ffbdbf320ce3655e1e43584977e3a.png)![img](https://community.trustwallet.com/uploads/default/original/2X/e/ed6cb30198e9e090fcd0221c135b908488fc30fd.png) -#### BEP20 tokens are also supported by Trust Wallet. +* BEP20 tokens are also supported by Trust Wallet. ![img](https://community.trustwallet.com/uploads/default/original/2X/2/29174d037eafd5f4fd5b1145adff546990e491a6.png)![img](https://community.trustwallet.com/uploads/default/original/2X/d/d80e63ec767472c3e715cef47ce2661d2706857e.png) ## Sending BNB to a Smart Chain address -### Tap on Send to initiate the transfer, then fill in Recepient address and Amount. +1. Tap on Send to initiate the transfer, then fill in Recepient address and Amount. ![img](https://community.trustwallet.com/uploads/default/original/2X/e/ed6cb30198e9e090fcd0221c135b908488fc30fd.png)![img](https://community.trustwallet.com/uploads/default/original/2X/7/7ef80775fcbd0b2398f7a9e34b272df9b996e033.png) -### Confirm the transaction by tapping on Send. Transaction will be done in seconds. +2. Confirm the transaction by tapping on Send. Transaction will be done in seconds. ![img](https://community.trustwallet.com/uploads/default/original/2X/8/84abbc16a4aa29b7cbaef006b33fc07d08ad3db3.png)![img](https://community.trustwallet.com/uploads/default/original/2X/5/53838ddadeff6edecd2d9e6ab27b78e4cc206c3d.png) ## Access Binance Smart Chain DApps -### Switching to Smart Chain Network to access DApps. +1. Switching to Smart Chain Network to access DApps. -#### Type the URL on the built in browser in order to access a DApp. +1.1 Type the URL on the built in browser in order to access a DApp. ![img](https://community.trustwallet.com/uploads/default/original/2X/9/90115e7af0d1700a840fbcd0feccf42e82b93cf4.png) ![img](https://community.trustwallet.com/uploads/default/original/2X/3/393cef8d14c0843e49d033d8c9125ecf95feeb0f.png) -#### Tap on the ETH logon on the upper right corner to see Network options. Choose Smart Chain. +1.2 Tap on the ETH logon on the upper right corner to see Network options. Choose Smart Chain. ![img](https://community.trustwallet.com/uploads/default/original/2X/b/b858f06f37f48f69ca8bfa3bdfc6f33f662b5779.jpeg)![img](https://community.trustwallet.com/uploads/default/original/2X/2/20b71660b78cf7092a4e1e9d7c2141edd981bccb.png) ### Trust Wallet is fully compatible with Binance Smart Chain DApps. -#### More DApps will be added on the built-in browser for convenience. +More DApps will be added on the built-in browser for convenience. ![img](https://community.trustwallet.com/uploads/default/original/2X/5/547a4c4775cf765f80f02354a779e0cac7df2c03.png) ![img](https://community.trustwallet.com/uploads/default/original/2X/2/2bfb05e249c3c182197a2e4d4f7e00e1d9208058.png) diff --git a/docs/wallet/wallet_api.md b/docs/wallet/wallet_api.md index f7ba689..cb31c8d 100644 --- a/docs/wallet/wallet_api.md +++ b/docs/wallet/wallet_api.md @@ -1,18 +1,21 @@ --- -sidebar_label: BNB Chain Wallet API -hide_table_of_contents: false +sidebar_label: API +hide_table_of_contents: true +sidebar_position: 2 --- -BNB Chain Wallet injects a global API into websites visited by its users at `window.BinanceChain`. +# Binance Extension Wallet API -This API specification borrows heavily from API MetaMask provided, considering the massive adoption. So Web3 site developers can easily connect their dApps with the BNB Chain Wallet. The APIs allow websites to request users' BNB Smart Chain addresses, read data from the blockchain the user is connected to, and prompt the users to sign messages and transactions. +Binance Extension Wallet injects a global API into websites visited by its users at `window.BinanceChain`. + +This API specification borrows heavily from API MetaMask provided, considering the massive adoption. So Web3 site developers can easily connect their dApps with the Binance Extension Wallet. The APIs allow websites to request users' BNB Smart Chain addresses, read data from the blockchain the user is connected to, and prompt the users to sign messages and transactions. The presence of the provider object `window.BinanceChain` indicates a Beacon Chain/BNB Smart Chain user. -The API this extension wallet provides includes API specified by [EIP-1193](https://eips.ethereum.org/EIPS/eip-1193) and API defined by [MetaMask](https://docs.metamask.io/guide/ethereum-provider.html) (including some massively relied legacy ones). +The API this extension wallet provides includes API specified by [EIP-1193](https://eips.ethereum.org/EIPS/eip-1193) and API defined by [MetaMask](https://docs.metamask.io/guide/ethereum-provider.html) (including some massively relied on legacy ones). ## Development Progress -Currently (version 1.112.8) as BNB Chain Wallet natively supports Beacon Chain, we are planning to open a series of APIs for dApp developers to interact with Beacon Chain. At the end of the day, most [APIs available in Beacon Chain javascript sdk](https://github.com/binance-chain/javascript-sdk/tree/master/docs) would be available. +Currently (version 1.112.8) as Binance Extension Wallet natively supports Beacon Chain, we are planning to open a series of APIs for dApp developers to interact with Beacon Chain. At the end of the day, most [APIs available in Beacon Chain javascript sdk](https://github.com/binance-chain/javascript-sdk/tree/master/docs) would be available. Currently, only the following is supported: * [`transfer`](https://github.com/binance-chain/javascript-sdk/tree/master/docs#transfer-tokens) @@ -21,11 +24,11 @@ Currently, only the following is supported: !!! warning - Please read through this section if you are a web3 developer who has integrated with MetaMask and interested in integrating with BNB Chain Wallet. + Please read through this section if you are a Web3 developer who has integrated with MetaMask and are interested in integrating with Binance Extension Wallet. ### Inpage injected object -The biggest difference between BNB Chain Wallet and MetaMask is we inject `BinanceChain` rather than `ethereum` (or `web3`) to the web page. So user could keep two extensions at the same time. +The biggest difference between Binance Extension Wallet and MetaMask is we inject `BinanceChain` rather than `ethereum` (or `web3`) to the web page. So, users could keep two extensions at the same time. ### BinanceChain.request({method: "eth_sign", params: ["address", "message"]) @@ -35,9 +38,7 @@ The `message` item in params for this request on MetaMask has to be hex-encoded ### BinanceChain.request({method: "eth_accounts"}) -When this API is invoked without the user's approval, MetaMask would return an empty array. - -In contrast, we would ask the user to unlock his wallet and return the address user connected to. +When this API is invoked without the user's approval, Metamask would return an empty array. In contrast, we would ask the user to unlock his wallet and return the address user connected to. ## Upcoming Breaking Changes @@ -45,7 +46,7 @@ In contrast, we would ask the user to unlock his wallet and return the address u Important Information - On **November 16, 2020**, MetaMask is making changes to their provider API that will be breaking for some web3 sites. + On **November 16, 2020**, Metamask is making changes to their provider API that will be breaking for some web3 sites. These changes are _upcoming_, but you can prepare for them today. Follow [this GitHub issue](https://github.com/MetaMask/metamask-extension/issues/8077) for updates. @@ -87,9 +88,8 @@ await bsc.getChainId(); * use-wallet There is an [example](https://github.com/aragon/use-wallet/tree/master/examples/binance-chain) in use-wallet origin repo shows how to 'inject' a customized web3-react connector to `UseWalletProvider`: - -``` -function App() { +```js +function App( ) { const { account, connect, reset, status } = useWallet() return (
@@ -106,10 +106,10 @@ function App() { render( , document.getElementById('root') ) -``` +``` ## Chain IDs !!! warning @@ -137,7 +137,7 @@ render( Custom RPC endpoints are not affected; they always return the chain ID specified by the user. -These are the IDs of the BNB Smart Chains that BNB Chain Wallet supports by default. +These are the IDs of the BNB Smart Chains that Binance Extension Wallet supports by default. | Hex | Decimal | Network | | ---- | ------- | ---------------------------------------------- | @@ -159,7 +159,7 @@ This API can also return chain ids of Beacon Chains if users switch to them. The The value of this property can change at any time, and should not be exclusively relied upon. See the [`chainChanged`](#chainchanged) event for details. -**NOTE:** See the [Chain IDs section](#chain-ids) for important information about the BNB Chain Wallet provider's chain IDs. +**NOTE:** See the [Chain IDs section](#chain-ids) for important information about the Binance Extension Wallet provider's chain IDs. A hexadecimal string representing the current chain ID. @@ -245,11 +245,11 @@ BinanceChain *We prepared an example for this API, please check out: https://github.com/binance-chain/js-eth-personal-sign-examples for more detail* -Like `eth_sign` enable dapp to verify a user has control over an ethereum address by signing an arbitrary message. We provide this method for dapp developers to request the signature of arbitrary messages for Beacon Chain (BC) and BNB Smart Chain (BSC). +Like `eth_sign` enable dApp to verify a user has control over an ethereum address by signing an arbitrary message. We provide this method for dApp developers to request the signature of arbitrary messages for Beacon Chain (BC) and BNB Smart Chain (BSC). -If `address` parameter is a Beacon Chain address (start with `bnb` or `tbnb`), we will simply **calculate sha256 hash of the message** and let user sign the hash with his Beacon Chain address' private key. Note: Beacon Chain uses the same elliptic curve (`secp256k1`) as Ethereum. +If `address` parameter is a Beacon Chain address (start with `bnb` or `tbnb`), we will simply **calculate sha256 hash of the message** and let the user sign the hash with their BNB Beacon Chain address' private key. Note: Beacon Chain uses the same elliptic curve (`secp256k1`) as Ethereum. -If `address` parameter is a BNB Smart Chain address (start with `0x`), the message would be hashed in the same way with [`eth_sign`](https://eth.wiki/json-rpc/API#eth_sign). +If `address` parameter is a BNB Smart Chain address (start with `0x`), the message would be hashed in the same way as with [`eth_sign`](https://eth.wiki/json-rpc/API#eth_sign). The returned `publicKey` would be a compressed encoded format (a hex string encoded 33 bytes starting with "0x02", "0x03") for Beacon Chain. And uncompressed encoded format (a hex string encoded 65 bytes starting with "0x04"). @@ -257,11 +257,11 @@ The returned `signature` would be bytes encoded in hex string starting with `0x` !!! warning - DApp developers should verify whether the returned public key can be converted into the address user claimed in addition to an ECDSA signature verification. Because any plugin can inject the same object `BinanceChain` as BNB Chain Wallet. + dApp developers should verify whether the returned public key can be converted into the address user claimed in addition to an ECDSA signature verification because any plugin can inject the same object `BinanceChain` as Binance Extension Wallet. ### BinanceChain.switchNetwork(networkId: string): Promise<{networkId: string}> -As BNB Chain Wallet natively supports Beacon Chain and BNB Smart Chain which are heterogeneous blockchains run in parallel. APIs would be different in any situation. (We would open APIs for Beacon Chain very soon). +As Binance Extension Wallet natively supports Beacon Chain and BNB Smart Chain which are heterogeneous blockchains run in parallel. APIs would be different in any situation. (We would open APIs for Beacon Chain very soon). Developers could judge which network is selected by user currently via `BinanceChain.chainId` or listening to the `chainChanged` event via `BinanceChain.on('chainChanged', callback)`. @@ -447,8 +447,8 @@ BinanceChain.on('accountsChanged', handleAccountsChanged); // For now, 'eth_accounts' will continue to always return an array function handleAccountsChanged(accounts) { if (accounts.length === 0) { - // BNB Chain Wallet is locked or the user has not connected any accounts - console.log('Please connect to BNB Chain Wallet.'); + // Binance Extension Wallet is locked or the user has not connected any accounts + console.log('Please connect to Binance Extension Wallet.'); } else if (accounts[0] !== currentAccount) { currentAccount = accounts[0]; // Do any other work! @@ -489,7 +489,7 @@ function connect() { This section documents MetaMask's legacy provider API. -To be compatible with existing dApps that support MetaMask, BNB Chain Wallet implements them as well, but please don't rely on them. We may deprecate them soon in the future. +To be compatible with existing dApps that support MetaMask, Binance Extension Wallet implements them as well, but please don't rely on them. We may deprecate them soon in the future. ## Legacy Properties diff --git a/docs/wallet_api.md b/docs/wallet_api.md index 5c28d7f..6b74dc1 100644 --- a/docs/wallet_api.md +++ b/docs/wallet_api.md @@ -4,31 +4,31 @@ hide_table_of_contents: true sidebar_position: 2 --- -# Binance Wallet API +# BNB Wallet API -BNB Chain Wallet injects a global API into websites visited by its users at `window.BinanceChain`. +BInance Extension Wallet injects a global API into websites visited by its users at `window.BinanceChain`. -This API specification borrows heavily from API MetaMask provided, considering the massive adoption. So Web3 site developers can easily connect their dApps with the BNB Chain Wallet. The APIs allow websites to request users' Binance Smart Chain addresses, read data from the blockchain the user is connected to, and prompt the users to sign messages and transactions. +This API specification borrows heavily from API MetaMask provided, considering the massive adoption. So Web3 site developers can easily connect their dApps with the Binance Extension Wallet. The APIs allow websites to request users' BNB Smart Chain addresses, read data from the blockchain the user is connected to, and prompt the users to sign messages and transactions. -The presence of the provider object `window.BinanceChain` indicates a Beacon Chain/Binance Smart Chain user. +The presence of the provider object `window.BinanceChain` indicates a Beacon Chain/BNB Smart Chain user. -The API this extension wallet provides includes API specified by [EIP-1193](https://eips.ethereum.org/EIPS/eip-1193) and API defined by [MetaMask](https://docs.metamask.io/guide/ethereum-provider.html) (including some massively relied legacy ones). +The API this extension wallet provides includes API specified by [EIP-1193](https://eips.ethereum.org/EIPS/eip-1193) and API defined by [MetaMask](https://docs.metamask.io/guide/ethereum-provider.html) (including some massively relied on legacy ones). ## Development Progress -Currently (version 1.112.8) as BNB Chain Wallet natively supports Beacon Chain, we are planning to open a series of APIs for dApp developers to interact with Beacon Chain. At the end of the day, most [APIs available in Beacon Chain javascript sdk](https://github.com/binance-chain/javascript-sdk/tree/master/docs) would be available. +Currently (version 1.112.8) as Binance Extension Wallet natively supports Beacon Chain, we are planning to open a series of APIs for dApp developers to interact with Beacon Chain. At the end of the day, most [APIs available in Beacon Chain javascript sdk](https://github.com/bnb-chain/javascript-sdk/tree/master/docs) would be available. Currently, only the following is supported: -* [`transfer`](https://github.com/binance-chain/javascript-sdk/tree/master/docs#transfer-tokens) +* [`transfer`](https://github.com/bnb-chain/javascript-sdk/tree/master/docs#transfer-tokens) ## Difference with MetaMask !!! warning - Please read through this section if you are a web3 developer who has integrated with MetaMask and interested in integrating with BNB Chain Wallet. + Please read through this section if you are a Web3 developer who has integrated with MetaMask and are interested in integrating with Binance Extension Wallet. ### Inpage injected object -The biggest difference between BNB Chain Wallet and MetaMask is we inject `BinanceChain` rather than `ethereum` (or `web3`) to the web page. So user could keep two extensions at the same time. +The biggest difference between Binance Extension Wallet and MetaMask is we inject `BinanceChain` rather than `ethereum` (or `web3`) to the web page. So, users could keep two extensions at the same time. ### BinanceChain.request({method: "eth_sign", params: ["address", "message"]) @@ -38,9 +38,7 @@ The `message` item in params for this request on MetaMask has to be hex-encoded ### BinanceChain.request({method: "eth_accounts"}) -When this API is invoked without the user's approval, MetaMask would return an empty array. - -In contrast, we would ask the user to unlock his wallet and return the address user connected to. +When this API is invoked without the user's approval, Metamask would return an empty array. In contrast, we would ask the user to unlock his wallet and return the address user connected to. ## Upcoming Breaking Changes @@ -48,7 +46,7 @@ In contrast, we would ask the user to unlock his wallet and return the address u Important Information - On **November 16, 2020**, MetaMask is making changes to their provider API that will be breaking for some web3 sites. + On **November 16, 2020**, Metamask is making changes to their provider API that will be breaking for some web3 sites. These changes are _upcoming_, but you can prepare for them today. Follow [this GitHub issue](https://github.com/MetaMask/metamask-extension/issues/8077) for updates. @@ -56,11 +54,11 @@ In contrast, we would ask the user to unlock his wallet and return the address u ## Basic Usage -For any non-trivial Binance Smart Chain web application — a.k.a. web3 site — to work, you will have to: +For any non-trivial BNB Smart Chain web application — a.k.a. web3 site — to work, you will have to: -1. Detect the Binance Smart Chain provider (`window.BinanceChain`) -2. Detect which Binance Smart Chain network the user is connected to -3. Get the user's Binance Smart Chain account(s) +1. Detect the BNB Smart Chain provider (`window.BinanceChain`) +2. Detect which BNB Smart Chain network the user is connected to +3. Get the user's BNB Smart Chain account(s) You can learn how to accomplish the `2` and `3` from above list by reviewing the snippet in the [Using the Provider section](#using-the-provider). @@ -90,9 +88,8 @@ await bsc.getChainId(); * use-wallet There is an [example](https://github.com/aragon/use-wallet/tree/master/examples/binance-chain) in use-wallet origin repo shows how to 'inject' a customized web3-react connector to `UseWalletProvider`: - -``` -function App() { +```js +function App( ) { const { account, connect, reset, status } = useWallet() return (
@@ -109,10 +106,10 @@ function App() { render( , document.getElementById('root') ) -``` +``` ## Chain IDs !!! warning @@ -140,12 +137,12 @@ render( Custom RPC endpoints are not affected; they always return the chain ID specified by the user. -These are the IDs of the Binance Smart chains that BNB Chain Wallet supports by default. +These are the IDs of the BNB Smart Chains that Binance Extension Wallet supports by default. | Hex | Decimal | Network | | ---- | ------- | ---------------------------------------------- | -| 0x38 | 56 | Binance Smart Chain Main Network (bsc-mainnet) | -| 0x61 | 97 | Binance Smart Chain Test Network (bsc-testnet) | +| 0x38 | 56 | BNB Smart Chain Main Network (bsc-mainnet) | +| 0x61 | 97 | BNB Smart Chain Test Network (bsc-testnet) | This API can also return chain ids of Beacon Chains if users switch to them. The possible return value would be: @@ -162,7 +159,7 @@ This API can also return chain ids of Beacon Chains if users switch to them. The The value of this property can change at any time, and should not be exclusively relied upon. See the [`chainChanged`](#chainchanged) event for details. -**NOTE:** See the [Chain IDs section](#chain-ids) for important information about the BNB Chain Wallet provider's chain IDs. +**NOTE:** See the [Chain IDs section](#chain-ids) for important information about the Binance Extension Wallet provider's chain IDs. A hexadecimal string representing the current chain ID. @@ -246,29 +243,29 @@ BinanceChain ### BinanceChain.bnbSign(address: string, message: string): Promise<{publicKey: string, signature: string}> -*We prepared an example for this API, please check out: https://github.com/binance-chain/js-eth-personal-sign-examples for more detail* +*We prepared an example for this API, please check out: https://github.com/bnb-chain/js-eth-personal-sign-examples for more detail* -Like `eth_sign` enable dapp to verify a user has control over an ethereum address by signing an arbitrary message. We provide this method for dapp developers to request the signature of arbitrary messages for Beacon Chain (BC) and Binance Smart Chain (BSC). +Like `eth_sign` enable dApp to verify a user has control over an ethereum address by signing an arbitrary message. We provide this method for dApp developers to request the signature of arbitrary messages for Beacon Chain (BC) and BNB Smart Chain (BSC). -If `address` parameter is a Beacon Chain address (start with `bnb` or `tbnb`), we will simply **calculate sha256 hash of the message** and let user sign the hash with his Beacon Chain address' private key. Note: Beacon Chain uses the same elliptic curve (`secp256k1`) as Ethereum. +If `address` parameter is a Beacon Chain address (start with `bnb` or `tbnb`), we will simply **calculate sha256 hash of the message** and let the user sign the hash with their BNB Beacon Chain address' private key. Note: Beacon Chain uses the same elliptic curve (`secp256k1`) as Ethereum. -If `address` parameter is a binance smart chain address (start with `0x`), the message would be hashed in the same way with [`eth_sign`](https://eth.wiki/json-rpc/API#eth_sign). +If `address` parameter is a BNB Smart Chain address (start with `0x`), the message would be hashed in the same way as with [`eth_sign`](https://eth.wiki/json-rpc/API#eth_sign). The returned `publicKey` would be a compressed encoded format (a hex string encoded 33 bytes starting with "0x02", "0x03") for Beacon Chain. And uncompressed encoded format (a hex string encoded 65 bytes starting with "0x04"). -The returned `signature` would be bytes encoded in hex string starting with `0x`. For BinanceChain, its r,s catenated 64 bytes in total. For Binance Smart Chain, like `eth_sign`, its r, s catenated 64 bytes and a recover byte in the end. +The returned `signature` would be bytes encoded in hex string starting with `0x`. For BinanceChain, its r,s catenated 64 bytes in total. For BNB Smart Chain, like `eth_sign`, its r, s catenated 64 bytes and a recover byte in the end. !!! warning - DApp developers should verify whether the returned public key can be converted into the address user claimed in addition to an ECDSA signature verification. Because any plugin can inject the same object `BinanceChain` as BNB Chain Wallet. + dApp developers should verify whether the returned public key can be converted into the address user claimed in addition to an ECDSA signature verification because any plugin can inject the same object `BinanceChain` as Binance Extension Wallet. ### BinanceChain.switchNetwork(networkId: string): Promise<{networkId: string}> -As BNB Chain Wallet natively supports Beacon Chain and Binance Smart Chain which are heterogeneous blockchains run in parallel. APIs would be different in any situation. (We would open APIs for Beacon Chain very soon). +As Binance Extension Wallet natively supports Beacon Chain and BNB Smart Chain which are heterogeneous blockchains run in parallel. APIs would be different in any situation. (We would open APIs for Beacon Chain very soon). -Developers could judge which network is selected by user currently via `BinanceChain.chainId` or listening to the `chainChanged` event via `BinanceChain.on('chainChanged', callback)`. +Developers could judge which network is selected by users currently via `BinanceChain.chainId` or listening to the `chainChanged` event via `BinanceChain.on('chainChanged', callback)`. -To request for network switching, developers could invoke this API with `bbc-mainnet` (Beacon Chain Main Network), `bsc-mainnet` (Binance Smart Chain Main Network), `bbc-testnet` (Beacon Chain Test Network), `bsc-testnet` (Binance Smart Chain Test Network) to prompt user to agree on network switching. +To request for network switching, developers could invoke this API with `bbc-mainnet` (Beacon Chain Main Network), `bsc-mainnet` (BNB Smart Chain Main Network), `bbc-testnet` (Beacon Chain Test Network), `bsc-testnet` (BNB Smart Chain Test Network) to prompt user to agree on network switching. ### BinanceChain.requestAccounts() @@ -450,8 +447,8 @@ BinanceChain.on('accountsChanged', handleAccountsChanged); // For now, 'eth_accounts' will continue to always return an array function handleAccountsChanged(accounts) { if (accounts.length === 0) { - // BNB Chain Wallet is locked or the user has not connected any accounts - console.log('Please connect to BNB Chain Wallet.'); + // Binance Extension Wallet is locked or the user has not connected any accounts + console.log('Please connect to Binance Extension Wallet.'); } else if (accounts[0] !== currentAccount) { currentAccount = accounts[0]; // Do any other work! @@ -492,7 +489,7 @@ function connect() { This section documents MetaMask's legacy provider API. -To be compatible with existing dApps that support MetaMask, BNB Chain Wallet implements them as well, but please don't rely on them. We may deprecate them soon in the future. +To be compatible with existing dApps that support MetaMask, Binance Extension Wallet implements them as well, but please don't rely on them. We may deprecate them soon in the future. ## Legacy Properties diff --git a/docs/wallets/trust-wallet.md b/docs/wallets/trust-wallet.md index 22c193d..77d11f9 100644 --- a/docs/wallets/trust-wallet.md +++ b/docs/wallets/trust-wallet.md @@ -1,7 +1,7 @@ # Trust Wallet ## What is it? -Trust Wallet (trustwallet.com ) is a secure, open source, decentralized and anonymous Ethereum wallet application that supports Ethereum and over 20,000 different Ethereum based tokens (ERC20, ERC223 and ERC721), seeing significant user adoption since its launch in November 2017. The company has built a reputation for security and has held itself to the guiding principles that it will never access user wallets, hold private keys, and ask for personal information. +Trust Wallet (trustwallet.com) is a secure, open source, decentralized and anonymous Ethereum wallet application that supports Ethereum and over 20,000 different Ethereum based tokens (ERC20, ERC223 and ERC721), seeing significant user adoption since its launch in November 2017. The company has built a reputation for security and has held itself to the guiding principles that it will never access user wallets, hold private keys, and ask for personal information. ## Instruction Please read this [tutorial](tutorial/how-to-create-a-wallet-on-trustwallet.md). diff --git a/docs/wallets/tutorial/BSCimToken.md b/docs/wallets/tutorial/BSCimToken.md index 68b31f6..d51c23a 100644 --- a/docs/wallets/tutorial/BSCimToken.md +++ b/docs/wallets/tutorial/BSCimToken.md @@ -6,17 +6,17 @@ hide_table_of_contents: false # How to use BNB Smart Chain (BSC) on imToken? An introduction on how to start with using BSC on the imToken wallet -## How to download the imToken wallet? -1.To get started, download imToken wallet via our official website [token.im](https://token.im/), the Apple App Store or Google Play. +## How to Download the imToken Wallet? +1. To get started, download imToken wallet via our official website [token.im](https://token.im/), the Apple App Store or Google Play. -2.Android phone users best download via Google Play or the official website. +2. Android phone users best download via Google Play or the official website. -3.Make sure to download the official, genuine App, since there are scammers out there providing fake apps. +3. Make sure to download the official, genuine App, since there are scammers out there providing fake apps. -4.Apple users can use the App Store. Here as well, please double check the app developer being IMTOKEN PTE.LTD. Be aware of scam apps. +4. Apple users can use the App Store. Here as well, please double check the app developer being IMTOKEN PTE.LTD. Be aware of scam apps. ![img](assets/10.png) -## How to create an imToken identity wallet? +## How to Create an imToken Identity Wallet? 1. Open imToken, click "Create Identity" and click to agree to the terms of service. 2. Fill in your identity name and wallet password. Next, click "Create", copy the backup mnemonic phrase with pen and paper and keep it in a safe place. Confirm the mnemonic words in order again and click "Next" to successfully create a wallet. @@ -26,7 +26,7 @@ BSC is the abbreviation of BNB Smart Chain. The chain adopts PoSA (Proof of Stak Since BSC is EMV-compatible, developers can easily deploy smart contracts and build DApps on the chain. Compared with Ethereum, BSC has lower gas fees and faster transaction settlement with lower security guarantees. -With imToken wallet we do not only support BSC DApps and watching token balances but also the DeFi Portfolio feature, providing a holistic BSC experience. +With imToken wallet, we do not only support BSC DApps and watching token balances but also the DeFi Portfolio feature, providing a holistic BSC experience. ## How to start using BSC in imToken? @@ -37,7 +37,7 @@ After the switch is successful, you can transfer and collect funds on the BSC ch ![img](assets/1.png) -### Receiving a payment via BSC on imToken +### Receiving a Payment via BSC on imToken Click "Receipt", copy the address or payment code and send it to the other party. ![img](assets/2.png) @@ -48,13 +48,13 @@ Click "Transfer", enter the payment address and amount, and then click "Next" to ![img](assets/3.png) -### Ecosystem applications +### Ecosystem Applications Click on "Ecosystem Applications" on the asset homepage to view and experience recent popular DApps on the BSC chain. ![img](assets/4.png) -###How to send funds from Binance to your imToken Wallet +### How to Send Funds from Binance to your imToken Wallet To withdraw BSC assets from Binance to imToken, you can follow the steps below. We use the BNB token as an example. @@ -87,8 +87,6 @@ On the asset page, click BNB to enter the transfer page, click "Transfer", paste ![img](assets/2.png) - - Learn more: https://token.im Risk Warning: The content of this article does not constitute any form of investment advice or recommendation. imToken does not make any guarantees and promises for the third-party services and products mentioned in this article, nor assume any responsibility. Digital asset investment has risks. You should carefully evaluate these investment risks and consult with relevant professionals to make your own decisions. diff --git a/docs/wallets/tutorial/how-to-create-a-wallet-on-trustwallet.md b/docs/wallets/tutorial/how-to-create-a-wallet-on-trustwallet.md index 3efe571..7d4d513 100644 --- a/docs/wallets/tutorial/how-to-create-a-wallet-on-trustwallet.md +++ b/docs/wallets/tutorial/how-to-create-a-wallet-on-trustwallet.md @@ -1,4 +1,4 @@ -# How to create your wallet with Trust Wallet +# How to Create Your Wallet with Trust Wallet **Step 1.** To get the latest Trust Wallet App you should follow one of the download links on our website [trustwallet.com](https://trustwallet.com/). diff --git a/docs/wallets/tutorial/ledger-nano-s-usage-guide.md b/docs/wallets/tutorial/ledger-nano-s-usage-guide.md index a319558..a5baf38 100644 --- a/docs/wallets/tutorial/ledger-nano-s-usage-guide.md +++ b/docs/wallets/tutorial/ledger-nano-s-usage-guide.md @@ -10,7 +10,7 @@ Therefore, using a hardware wallet device such as the Ledger Nano S is strongly In order to use a Ledger device with Binance Chain and Binance DEX, you will need: - Supported web browser: Chrome (including Brave, Vivaldi, and other Chromium variants), Opera or Firefox -- Access to the Binance Chain web wallet (https://binance.org/unlock) using your web browser +- Access to the Binance Extension Web Wallet (https://binance.org/unlock) using your web browser - Initialized Ledger Nano S device with firmware version 1.5.5 or newer - The Ledger Live application installed on your computer for app installation @@ -61,7 +61,7 @@ You will then be redirected to the Trading Interface. For your security, please read the information displayed in the following popup and confirm that the address shown on your Ledger device matches the one shown on-screen.
Press the right button on your device to confirm that the address matches (You must do this to continue). -## How to send Binance Chain crypto assets +## How to send Beacon Chain crypto assets Confirming a trade on a Ledger Wallet: diff --git a/docs/wallets/tutorial/trezor-model-t-user-guide.md b/docs/wallets/tutorial/trezor-model-t-user-guide.md index 6d2f5dd..248a046 100644 --- a/docs/wallets/tutorial/trezor-model-t-user-guide.md +++ b/docs/wallets/tutorial/trezor-model-t-user-guide.md @@ -7,7 +7,7 @@ Please follow best security practices when using any hardware wallet to store cr ## Requirements In order to use a Trezor with Binance Chain and Binance DEX, you will need: * A supported web browser: Chrome or Firefox -* Access to the Binance Chain web wallet (https://binance.org/unlock) using your web browser +* Access to the Binance Extension Web Wallet (https://binance.org/unlock) using your web browser * An initialized Trezor Model T device with the most recent firmware updates installed * The Trezor Bridge application installed on your computer @@ -34,7 +34,7 @@ Please make sure that you have seed phrase backed up. ## Setup/Login Instructions -1. Open Binance Chain web wallet (www.binance.org), then go to [unlock page](https://www.binance.org/en/unlock). You should see that Trezor is already an option for you. +1. Open Binance Extension Web Wallet (www.binance.org), then go to [unlock page](https://www.binance.org/en/unlock). You should see that Trezor is already an option for you. ![img](https://lh3.googleusercontent.com/SHsBGqNHNfRqPO85GCQbC84lEq-5f0tkTLp3xMa2sg10FT8leiHe0i5rk9h0luegET3CUXODO2jTBP7I5AwrmoERZg7k61EWLeHToJhXVYqz-r2Kat1q7BtwFOBmAGifLjR1_p0U) @@ -64,7 +64,7 @@ Please make sure that you have seed phrase backed up. ![img](https://lh6.googleusercontent.com/h7xez7MrpBQt8n888v8mmWujn4rNKH88h11zesBkBe-pvCKtqiPM_IE3MZRRGuQi47DOLRAgrVMY3g8a-QXvhkpnJOLacHgyTeUe5FvKT2LAVTX7t8NMfaHdzoP53dbbG4pz4j_2) -## How to send Binance Chain crypto assets +## How to send Beacon Chain crypto assets 1) Click on the “Balances” navigation button in the Trading Interface to view your account balances. @@ -85,7 +85,7 @@ Please make sure that you have seed phrase backed up. ![img](https://lh4.googleusercontent.com/CgV9tpPpgGZFowBeka3VUqgA5zCfT7gLxi3m1qujN00lFKGJu8uSoTpP8_VnF5qCasdPHb-S2FQEEKHGm37xjXJhCmxyxvpWN_mQ6CHb6Q4aCaHb4Y4MmOeZrUibQeGLPtyqFON2) -## How to trade Binance Chain crypto assets +## How to trade Beacon Chain crypto assets 1) You can place your order on trading page diff --git a/docs/wallets/wallet-tutorial-overview.md b/docs/wallets/wallet-tutorial-overview.md index d1d6e4b..bc4ef3f 100644 --- a/docs/wallets/wallet-tutorial-overview.md +++ b/docs/wallets/wallet-tutorial-overview.md @@ -4,11 +4,11 @@ hide_table_of_contents: false --- # Tutorials on Using Third-Party Wallets on BNB Smart Chain -BNB Smart Chain offers an extensive support of third-party wallets that can be used for sending/receiving/buying/exchanging/staking BNB Tokens. Below we provide a list of the most popular wallets. +BNB Smart Chain offers extensive support of third-party wallets that can be used for sending/receiving/buying/exchanging/staking BNB Tokens. Below we provide a list of the most popular wallets. | Wallet | Tutorial Link | |--------------|---------------| -| BNB Chain Extension Wallet| [How to use Binance Extension Wallet with BNB Smart Chain](../binance.md) | +| Binance Extension Wallet| [How to use Binance Extension Wallet with BNB Smart Chain](../binance.md) | | Staking with Binance Extension Wallet | [How to Stake BNB Tokens using Binance Extension Wallet](../wallet/staking.md) | Metamask| [How to use Metamask with BNB Smart Chain](../wallet/metamask.md)| | Trust Wallet | [How to use Trust Wallet with BNB Smart Chain](../wallet/trustwallet.md) | diff --git a/docusaurus.config.js b/docusaurus.config.js index b46ff68..c5c60a6 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -7,18 +7,17 @@ const darkCodeTheme = require('prism-react-renderer/themes/dracula'); /** @type {import('@docusaurus/types').Config} */ const config = { title: 'BNB Chain Documentation', - url: 'https://your-docusaurus-test-site.com', + url: 'https://github.com/RumeelHussainbnb/beta_BSC_Docs', baseUrl: '/', onBrokenLinks: 'ignore', onBrokenMarkdownLinks: 'warn', - favicon: 'img/favicon.ico', - organizationName: 'BNB Chain', // Usually your GitHub org/user name. - //projectName: 'binance documentation', // Usually your repo name. - - /*i18n: { - defaultLocale: 'en', - locales: ['en', 'fr', 'zh'], - },*/ + favicon: 'img/icon/favicon.ico', + organizationName: 'RumeelHussainbnb', + projectName: 'beta_BSC_Docs/docs', + deploymentBranch: 'gh-pages', + + + plugins: [require.resolve("docusaurus-plugin-image-zoom")], presets: [ [ '@docusaurus/preset-classic', @@ -26,14 +25,13 @@ const config = { ({ docs: { sidebarPath: require.resolve('./sidebars.js'), - // Please change this to your repo. - editUrl: 'https://github.com/RumeelHussainbnb/beta_BSC_Docs/blob/master/docs', + editUrl: 'https://github.com/RumeelHussainbnb/beta_BSC_Docs/blob/master/', + editCurrentVersion: true, }, blog: { showReadingTime: true, - // Please change this to your repo. editUrl: - 'https://www.bnbchain.world/en/blog/', + 'https://www.bnbchain.org/en/blog/', }, theme: { customCss: require.resolve('./src/css/custom.css'), @@ -46,14 +44,18 @@ const config = { /** @type {import('@docusaurus/preset-classic').ThemeConfig} */ ({ - /*announcementBar: { - id: 'support_us', - content: - 'Binance Chain and Binance Smart Chain are entering a new development era with a new brand. The documentations and the web pages are under reconstruction.', - backgroundColor: '#fafbfc', - textColor: '#091E42', - isCloseable: false, - },*/ + + zoom: { + selector: '.markdown :not(em) > img', + config: { + // options you can specify via https://github.com/francoischalifour/medium-zoom#usage + background: { + light: 'rgb(255, 255, 255)', + dark: 'rgb(50, 50, 50)' + } + } + }, + colorMode: { defaultMode: 'light', }, @@ -91,7 +93,7 @@ const config = { }, { label: 'Blog', - href: 'https://www.bnbchain.world/en/blog/', + href: 'https://www.bnbchain.org/en/blog/', }, { label: 'GitHub', @@ -103,7 +105,7 @@ const config = { }, { label: 'Twitter', - href: 'https://twitter.com/binance', + href: 'https://twitter.com/BNBCHAIN', }, { label: 'Telegram', diff --git a/package-lock.json b/package-lock.json index 24ae5ab..d7b13b5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,11 +1,11 @@ { - "name": "my-website", + "name": "beta_BNB_Docs", "version": "0.0.0", "lockfileVersion": 2, "requires": true, "packages": { "": { - "name": "my-website", + "name": "beta_BNB_Docs", "version": "0.0.0", "dependencies": { "@docusaurus/core": "2.0.0-beta.9", @@ -17,6 +17,7 @@ "@mdx-js/react": "^1.6.21", "@svgr/webpack": "^5.5.0", "clsx": "^1.1.1", + "docusaurus-plugin-image-zoom": "^0.1.1", "file-loader": "^6.2.0", "prism-react-renderer": "^1.2.1", "react": "^17.0.1", @@ -4486,14 +4487,19 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001284", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001284.tgz", - "integrity": "sha512-t28SKa7g6kiIQi6NHeOcKrOrGMzCRrXvlasPwWC26TH2QNdglgzQIRUuJ0cR3NeQPH+5jpuveeeSFDLm2zbkEw==", - "license": "CC-BY-4.0", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - } + "version": "1.0.30001349", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001349.tgz", + "integrity": "sha512-VFaWW3jeo6DLU5rwdiasosxhYSduJgSGil4cSyX3/85fbctlE58pXAkWyuRmVA0r2RxsOSVYUTZcySJ8WpbTxw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + } + ] }, "node_modules/ccount": { "version": "1.1.0", @@ -5807,6 +5813,14 @@ "buffer-indexof": "^1.0.0" } }, + "node_modules/docusaurus-plugin-image-zoom": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/docusaurus-plugin-image-zoom/-/docusaurus-plugin-image-zoom-0.1.1.tgz", + "integrity": "sha512-cJXo5TKh9OR1gE4B5iS5ovLWYYDFwatqRm00iXFPOaShZG99l5tgkDKgbQPAwSL9wg4I+wz3aMwkOtDhMIpKDQ==", + "dependencies": { + "medium-zoom": "^1.0.6" + } + }, "node_modules/dom-converter": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", @@ -8659,6 +8673,11 @@ "node": ">= 0.6" } }, + "node_modules/medium-zoom": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/medium-zoom/-/medium-zoom-1.0.6.tgz", + "integrity": "sha512-UdiUWfvz9fZMg1pzf4dcuqA0W079o0mpqbTnOz5ip4VGYX96QjmbM+OgOU/0uOzAytxC0Ny4z+VcYQnhdifimg==" + }, "node_modules/memfs": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.0.tgz", @@ -16936,9 +16955,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001284", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001284.tgz", - "integrity": "sha512-t28SKa7g6kiIQi6NHeOcKrOrGMzCRrXvlasPwWC26TH2QNdglgzQIRUuJ0cR3NeQPH+5jpuveeeSFDLm2zbkEw==" + "version": "1.0.30001349", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001349.tgz", + "integrity": "sha512-VFaWW3jeo6DLU5rwdiasosxhYSduJgSGil4cSyX3/85fbctlE58pXAkWyuRmVA0r2RxsOSVYUTZcySJ8WpbTxw==" }, "ccount": { "version": "1.1.0", @@ -17805,6 +17824,14 @@ "buffer-indexof": "^1.0.0" } }, + "docusaurus-plugin-image-zoom": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/docusaurus-plugin-image-zoom/-/docusaurus-plugin-image-zoom-0.1.1.tgz", + "integrity": "sha512-cJXo5TKh9OR1gE4B5iS5ovLWYYDFwatqRm00iXFPOaShZG99l5tgkDKgbQPAwSL9wg4I+wz3aMwkOtDhMIpKDQ==", + "requires": { + "medium-zoom": "^1.0.6" + } + }, "dom-converter": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", @@ -19718,6 +19745,11 @@ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" }, + "medium-zoom": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/medium-zoom/-/medium-zoom-1.0.6.tgz", + "integrity": "sha512-UdiUWfvz9fZMg1pzf4dcuqA0W079o0mpqbTnOz5ip4VGYX96QjmbM+OgOU/0uOzAytxC0Ny4z+VcYQnhdifimg==" + }, "memfs": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.0.tgz", diff --git a/package.json b/package.json index e918e3a..b80fb3b 100644 --- a/package.json +++ b/package.json @@ -23,6 +23,7 @@ "@mdx-js/react": "^1.6.21", "@svgr/webpack": "^5.5.0", "clsx": "^1.1.1", + "docusaurus-plugin-image-zoom": "^0.1.1", "file-loader": "^6.2.0", "prism-react-renderer": "^1.2.1", "react": "^17.0.1", diff --git a/sidebars.js b/sidebars.js index b45c244..ed37aac 100644 --- a/sidebars.js +++ b/sidebars.js @@ -13,297 +13,300 @@ /** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */ const sidebars = { - // By default, Docusaurus generates a sidebar from the docs folder structure - //tutorialSidebar: [{type: 'autogenerated', dirName: '.'}, ], - - // But you can create a sidebar manually - - - /* faqSideBar:[{type: 'doc', id: 'cat-FAQs', label: 'FAQs'}],*/ - - /*bcSidebar:[ - { - type: 'category', - label: 'Beacon Chain', - // collapsible: true, - collapsed: true, - items: ['bcdevelop'],//'develop','Learn','Validate','Integrate','Wallet', 'FAQs'], - /* { - type: 'category', - collapsible: true, - collapsed: false, - label: 'Develop', - items: ['develop'], //add the names of the docs as per the list to create - }, - 'Learn','Validate','Integrate','Wallet', 'FAQs'], - }, - ], -*/ -/* beaconSideBar :[ - { - type: 'category', - label: 'Beacon Chain', - // collapsible: true, - collapsed: true, - items: ['beacon-intro' ], - }, - ],*/ - + bscSideBar: [ { type: 'category', label: 'BNB Chain', // collapsible: true, collapsed: true, - items: ['bnbIntro', 'getting-started', - - { - type: 'doc', label: 'Tutorials', id:'tutorials' - }, - ], - }, - - { - type: 'category', - collapsible: true, - collapsed: true, - label: 'BNB Smart Chain', - items: ['learn/intro', - //{type: 'category', collapsed:true, label: 'About', items: ['learn/intro', 'learn/terminology']}, + items: [ + 'bnbIntro', 'getting-started', + { - type: 'category', - //collapsible: true, - collapsed: true, - label: 'Core Concepts', - items: ['learn/consensus', //'learn/genesis', - {type: 'category', - //collapsible: true, - collapsed: true, - label: 'BC and BSC Cross-Chain Mechanism', - items: ['learn/cross-chain', 'learn/system-contract', - 'learn/cross-chain-transfer','learn/bsc-relayer', 'learn/incentives', - 'learn/oracle-module','learn/oracle-relayer']}, - //'learn/bsc-gov-workflow', - 'learn/bsc-gov'] - }, - { - type: 'doc', label: 'Tools', id:'learn/ecosystem' - }, + type: 'category', + collapsible: true, + collapsed: true, + label: 'BNB Smart Chain', + items: ['learn/intro', + + {type: 'doc', label: 'Tutorials', id:'bsc-tutorials'}, - {type: 'category', - //collapsible: true, - collapsed: true, - label: 'Develop', - items: ['BSCmainnet', 'BSCtestnet', 'BSCexplorers', - { - type: 'category', - //collapsible: true, - collapsed: true, - label: 'Running Fullnode', - items: ['validator/fullnode','validator/snapshot','local', 'validator/upgrade-fullnode'] - }, - {type:'doc', id:'rpc', label:'RPC'}, - { - type: 'category', - //collapsible: true, - collapsed: true, - label: 'Deploy Smart Contract', - items: ['remix', 'truffle-new', 'hardhat-new', 'verify'] - }, { - type: 'category', - collapsed: true, - label: 'Deploy NFTs', - items:['nft-metadata-standard', 'ERC721'] + type: 'category', + collapsed: true, + label: 'Core Concepts', + items: ['learn/consensus', + {type: 'category', + //collapsible: true, + collapsed: true, + label: 'BC and BSC Cross-Chain Mechanism', + items: ['learn/cross-chain', 'learn/system-contract', + 'learn/cross-chain-transfer','learn/bsc-relayer', 'learn/incentives', + 'learn/oracle-module','learn/oracle-relayer']}, + 'learn/bsc-gov'] }, - - { - type: 'category', - //collapsible: true, - collapsed: true, - label: 'BEP20 Tokens', - items: ['BEP20', 'issue-BEP20', - { - type: 'category', - //collapsible: true, - collapsed: true, - label: 'Bind Tokens', - items: ['tokens-cross-chain', 'bind-tokens', 'mirror', - 'circulation-model', 'sync' ] - }, - 'cross-chain-transfer', - { - type: 'category', - //collapsible: true, - collapsed: true, - label: 'BEP20 Contracts', - items: ['proxy', 'verify-proxy'] - }, - ] - }, - - 'bsc-relayer', //'cross-chain-tech', { - type: 'category', - //collapsible: true, - collapsed: true, - label: 'Oracles', - items: ['band', 'link'] + type: 'doc', label: 'Tools', id:'learn/ecosystem' }, - {type: 'doc', id: 'learn/cross-chain-app-list', label: 'Cross-Chain App Support'}, - ]}, - - { - type: 'category', - //collapsible: true, - collapsed: true, - label: 'Validator', - items: ['validator/overview','del-guide', 'validator/requirements', - { + + {type: 'category', + //collapsible: true, + collapsed: true, + label: 'Develop', + items: ['BSCmainnet', 'BSCtestnet', 'BSCexplorers', + { + type: 'category', + //collapsible: true, + collapsed: true, + label: 'Running Fullnode', + items: ['validator/fullnode','validator/snapshot','local', 'validator/upgrade-fullnode'] + }, + {type:'doc', id:'rpc', label:'RPC'}, + { + type: 'category', + //collapsible: true, + collapsed: true, + label: 'Deploy Smart Contract', + items: ['remix', 'truffle-new', 'hardhat-new', 'verify'] + }, + { + type: 'category', + collapsed: true, + label: 'Deploy NFTs', + items:['nft-metadata-standard', 'ERC721'] + }, + + { + type: 'category', + //collapsible: true, + collapsed: true, + label: 'BEP20 Tokens', + items: ['BEP20', 'issue-BEP20', + { + type: 'category', + //collapsible: true, + collapsed: true, + label: 'Bind Tokens', + items: ['tokens-cross-chain', 'bind-tokens', 'mirror', + 'circulation-model', 'sync' ] + }, + 'cross-chain-transfer', + { + type: 'category', + //collapsible: true, + collapsed: true, + label: 'BEP20 Contracts', + items: ['proxy', 'verify-proxy'] + }, + ] + }, + + 'bsc-relayer', //'cross-chain-tech', + { + type: 'category', + //collapsible: true, + collapsed: true, + label: 'Oracles', + items: ['band', 'link'] + }, + {type: 'doc', id: 'learn/cross-chain-app-list', label: 'Cross-Chain App Support'}, + ]}, + + { + type: 'category', + //collapsible: true, + collapsed: true, + label: 'Validator', + items: ['validator/overview','del-guide', 'validator/requirements', + { + type: 'category', + collapsed: true, + label: 'Running as Validator on BSC', + items:['validator/guideline-mainnet', + { + type: 'category', + collapsed: true, + label: 'Join Testnet', + items:['validator/guideline-testnet', 'validator/testnet'] + }, + + 'validator/snapshot', ] + }, + //'validator/security', + 'validator/best-practice','validator/node-maintenance', + 'validator/commonproblems', //'validator/troubleshoot' + ], + }, + { + type: 'category', + //collapsible: true, + collapsed: true, + label: 'Staking', + items: ['stake/Staking', 'stake/cli-commands', 'wallet/staking', + { + type: 'category', + collapsed: true, + label: 'Slashing', + items:['validator/Penalty-overview', 'validator/send-slash-evidence', + 'validator/scenarios-slash', 'validator/slash-fee', 'validator/unjail', + 'validator/monitor-and-query-slash' + ] + }, + ] + }, + /*{type:'doc', id:'Staking', label:'Staking on BSC'},*/ + //{type: 'doc', id: 'del-guide', label: 'Delegator Guide'}, + + {type: 'doc', id: 'Integrate', label: 'Integration'}, + + { + type: 'category', + //collapsible: true, + collapsed: true, + label: 'Wallet', + items: ['Wallet', 'create-wallet', + { + type: 'category', + //collapsible: true, + collapsed: true, + label: 'BNB Chain Extension Wallet', + items: ['binance','manual', 'add-account', 'wallet_api','staking-with-ext-wallet'] + }, + {type:'doc', id:'wallet/wallet_api', label:'Binance Extension Wallet API'}, + { + type: 'category', + collapsed: true, + label: 'Tutorials on Third Party Wallets', + items:['wallets/wallet-tutorial-overview','wallet/metamask','wallet/arkane', 'wallet/math', 'wallet/myetherwallet', + 'wallet/trustwallet', 'wallet/ezdefi', 'wallet/infinitywallet', 'wallet/AlphaWallet', 'wallet/coin98wallet', + 'wallet/ledger', 'wallet/trezor', 'wallets/tutorial/BSCimToken', 'learn/gnosis'] + }, + ] + }, + + ], + }, + + { + type: 'category', + label: 'Beacon Chain', + // collapsible: true, + collapsed: true, + items: ['learn/beaconIntro', + {type: 'doc', label: 'Tutorials', id:'beaconchain/bc-tutorials'}, + { + type:'category', + label: 'Learn', + collapsed: true, + items:[ 'beaconchain/learn/architecture', 'beaconchain/learn/accounts', 'beaconchain/learn/assets', + 'beaconchain/learn/transactions', 'beaconchain/learn/genesis', 'beaconchain/learn/signature', + { + type: 'category', + label: 'Encoding', + collapsed: true, + items: [ 'encoding', 'beaconchain/learn/encoding/encoding', + 'beaconchain/learn/encoding/amino-example'] + }, + ] + }, + { + type:'category', + label:'Develop', + items: [ + { + type:'category', + label:'Beacon Chain Fullnode', + items:['beaconchain/develop/node/install', 'beaconchain/develop/node/join-mainnet', + 'beaconchain/develop/node/join-testnet', 'beaconchain/develop/node/synctypes', + 'beaconchain/develop/node/extra-info', 'beaconchain/develop/node/nodetypes', + 'beaconchain/develop/node/upgrade', 'beaconchain/develop/node/localnetwork', + 'beaconchain/develop/node/fullnodeissue', 'beaconchain/develop/api-reference/dex-api/staking', + 'beaconchain/develop/node/snapshot' + ] + }, + {type:'doc', id: 'beaconchain/develop/api-reference/cli', label:'Beacon Chain Client'}, + {type:'doc', id: 'beaconchain/light-client', label:'Light Client'}, + {type:'doc', id: 'beaconchain/tokens', label:'Asset Management'}, + {type:'doc', id: 'beaconchain/list_instruction', label:'List Instructions'}, + {type:'doc', id: 'beaconchain/list', label:'List Transaction'}, + {type:'doc', id: 'beaconchain/learn/trading-interface', label:'Trading Interface'}, + {type:'doc', id: 'beaconchain/develop/api-reference/api-server', label:'Simple API Server'}, + {type:'doc', id: 'beaconchain/develop/bcsdk', label:'Beacon Chain SDK'}, + {type:'doc', id: 'beaconchain/develop/testnetandexplorer', label:'Beacon Chain Testnet & SDK'}, + { + type: 'category', + label:'Beacon Chain and DEX API Reference', + items:[ + {type:'doc', id:'beaconchain/develop/api-reference/dex-api/paths', label: 'Accelerated Node HTTP API Mainnet - Paths and Models'}, + {type:'doc', id:'beaconchain/develop/api-reference/dex-api/block-service', label: 'New Accelerated Node HTTP API Mainnet'}, + {type:'link', href:'https://docs.binance.org/api-swagger/index.html', label: 'Accelerated Node HTTP API Swagger'}, + {type:'doc', id:'beaconchain/develop/api-reference/dex-api/paths-testnet', label: 'Accelerated Node HTTP API Testnet- Paths and Models'}, + {type:'doc', id:'beaconchain/develop/api-reference/dex-api/ws-connection', label: 'WebSockets - Connecting'}, + {type:'doc', id:'beaconchain/develop/api-reference/dex-api/ws-streams', label: 'WebSockets - Streams'}, + {type:'doc', id:'beaconchain/develop/api-reference/node-rpc', label: 'Node RPC - Paths and Models'}, + {type:'link', href:'https://docs.binance.org/rpc-swagger/index.html', label: 'Node RPC Swagger'}, + {type:'doc', id:'beaconchain/changelog', label:'CHANGELOG'} + + ] + }, + + ] + }, + { + type: 'category', + label:'Wallet', + items:['beaconchain/wallets', + { + type: 'category', + label:'Tutorials', + items:[ + {type:'doc', id:'beaconchain/wallet/tutorial/how-to-create-a-wallet-on-trustwallet', label:'Trust Wallet Guide'}, + {type:'doc', id:'beaconchain/wallet/tutorial/ledger-nano-s-usage-guide', label:'Ledger Wallet Guide'}, + {type:'doc', id:'beaconchain/wallet/tutorial/trezor-model-t-user-guide', label:'Trezor Wallet Guide'}, + {type:'doc', id:'beaconchain/wallet/tutorial/bep8', label:'How to manage BEP8 token with Web Wallet'}, + ] + } + ] + } + ], + }, + + { + type: 'category', + collapsed: true, + label: 'BNB Sidechain', + //link: {type: "doc", id: 'BNBSidechain/overview/bas'}, //SUPPORTED in 2.0.0-beta.10 unrealeased version + items:[ + 'BNBSidechain/overview/bas', 'BNBSidechain/overview/whentochooseBAS', + { + type: 'doc', + label: 'Architecture', + id: 'BNBSidechain/architecture/bs-arch' + }, + + { type: 'category', collapsed: true, - label: 'Running as Validator on BSC', - items:['validator/guideline-mainnet', - { - type: 'category', - collapsed: true, - label: 'Join Testnet', - items:['validator/guideline-testnet', 'validator/testnet'] - }, - - 'validator/snapshot', ] - }, - //'validator/security', - 'validator/best-practice','validator/node-maintenance', - 'validator/commonproblems', //'validator/troubleshoot' - ], - }, - { - type: 'category', - //collapsible: true, - collapsed: true, - label: 'Staking', - items: ['stake/Staking', 'stake/cli-commands', 'wallet/staking', - { - type: 'category', - collapsed: true, - label: 'Slashing', - items:['validator/Penalty-overview', 'validator/send-slash-evidence', - 'validator/scenarios-slash', 'validator/slash-fee', 'validator/unjail', - 'validator/monitor-and-query-slash' - ] - }, - ] - }, - /*{type:'doc', id:'Staking', label:'Staking on BSC'},*/ - //{type: 'doc', id: 'del-guide', label: 'Delegator Guide'}, - - {type: 'doc', id: 'Integrate', label: 'Integration'}, - - { - type: 'category', - //collapsible: true, - collapsed: true, - label: 'Wallet', - items: ['Wallet', 'create-wallet', - { - type: 'category', - //collapsible: true, - collapsed: true, - label: 'Beacon Extension Wallet', - items: ['binance','manual', 'add-account', 'wallet_api','staking-with-ext-wallet'] - }, - { - type: 'category', - collapsed: true, - label: 'Tutorials on Third Party Wallets', - items:['wallets/wallet-tutorial-overview','wallet/metamask','wallet/arkane', 'wallet/math', 'wallet/myetherwallet', - 'wallet/trustwallet', 'wallet/ezdefi', 'wallet/infinitywallet', 'wallet/AlphaWallet', 'wallet/coin98wallet', - 'wallet/ledger', 'wallet/trezor', 'wallets/tutorial/BSCimToken'] - }, - ] - }, - + label: 'Security', + items:['BNBSidechain/security/blockchain-and-evm-security', + 'BNBSidechain/security/bridge-security'] + }, + + { + type: 'doc', + label: 'Development Tools', + id: 'BNBSidechain/develop/BNBSidechainTestnet/development-tools' + }, + 'BNBSidechain/bs-tutorials', + {type: 'doc', label: 'BNB Sidechain Pilot Projects', id:'BNBSidechain/bas-pilot-projects'}, + + ] + }, ], - }, - - { - type: 'category', - label: 'Beacon Chain', - // collapsible: true, - collapsed: true, - items: ['learn/beaconIntro', - { - type:'category', - label: 'Learn', - collapsed: true, - items:[ 'beaconchain/learn/architecture', 'beaconchain/learn/accounts', 'beaconchain/learn/assets', - 'beaconchain/learn/transactions', 'beaconchain/learn/genesis', 'beaconchain/learn/signature', - { - type: 'category', - label: 'Encoding', - collapsed: true, - items: [ 'encoding', 'beaconchain/learn/encoding/encoding', - 'beaconchain/learn/encoding/amino-example'] - }, - ] - }, - { - type:'category', - label:'Develop', - items: [ - { - type:'category', - label:'Beacon Chain Fullnode', - items:['beaconchain/develop/node/install', 'beaconchain/develop/node/join-mainnet', - 'beaconchain/develop/node/join-testnet', 'beaconchain/develop/node/synctypes', - 'beaconchain/develop/node/extra-info', 'beaconchain/develop/node/nodetypes', - 'beaconchain/develop/node/upgrade', 'beaconchain/develop/node/localnetwork', - 'beaconchain/develop/node/fullnodeissue', 'beaconchain/develop/api-reference/dex-api/staking', - 'beaconchain/develop/node/snapshot' - ] - }, - {type:'doc', id: 'beaconchain/develop/api-reference/cli', label:'Beacon Chain Client'}, - {type:'doc', id: 'beaconchain/light-client', label:'Light Client'}, - {type:'doc', id: 'beaconchain/develop/api-reference/api-server', label:'Simple API Server'}, - {type:'doc', id: 'beaconchain/develop/bcsdk', label:'Beacon Chain SDK'}, - {type:'doc', id: 'beaconchain/develop/testnetandexplorer', label:'Beacon Chain Testnet & SDK'}, - { - type: 'category', - label:'Beacon Chain API Reference', - items:[ - {type:'doc', id:'beaconchain/develop/api-reference/dex-api/paths', label: 'Accelerated Node HTTP API Mainnet - Paths and Models'}, - {type:'doc', id:'beaconchain/develop/api-reference/dex-api/block-service', label: 'New Accelerated Node HTTP API Mainnet'}, - {type:'link', href:'https://docs.binance.org/api-swagger/index.html', label: 'Accelerated Node HTTP API Swagger'}, - {type:'doc', id:'beaconchain/develop/api-reference/dex-api/paths-testnet', label: 'Accelerated Node HTTP API Testnet- Paths and Models'}, - {type:'doc', id:'beaconchain/develop/api-reference/dex-api/ws-connection', label: 'WebSockets - Connecting'}, - {type:'doc', id:'beaconchain/develop/api-reference/dex-api/ws-streams', label: 'WebSockets - Streams'}, - {type:'doc', id:'beaconchain/develop/api-reference/node-rpc', label: 'Node RPC - Paths and Models'}, - {type:'link', href:'https://docs.binance.org/rpc-swagger/index.html', label: 'Node RPC Swagger'}, - {type:'doc', id:'beaconchain/changelog', label:'CHANGELOG'} - - ] - } - ] - }, - { - type: 'category', - label:'Wallet', - items:['beaconchain/wallets', - { - type: 'category', - label:'Tutorials', - items:[ - {type:'doc', id:'beaconchain/wallet/tutorial/how-to-create-a-wallet-on-trustwallet', label:'Trust Wallet Guide'}, - {type:'doc', id:'beaconchain/wallet/tutorial/ledger-nano-s-usage-guide', label:'Ledger Wallet Guide'}, - {type:'doc', id:'beaconchain/wallet/tutorial/trezor-model-t-user-guide', label:'Trezor Wallet Guide'}, - {type:'doc', id:'beaconchain/wallet/tutorial/bep8', label:'How to manage BEP8 token with Web Wallet'}, - ] - } - ] - } - ], }, + + { type: 'category', collapsed: true, @@ -318,6 +321,7 @@ const sidebars = { } ], }, + { type: 'category', //collapsible: true, @@ -333,11 +337,13 @@ const sidebars = { 'parameters', 'cross', 'faq'], }, { - type: 'category', - collapsed: true, - label: 'Beacon Chain FAQs', - items: ['beaconchain/faq/faq'], - }, + type: 'doc', label: 'Beacon Chain FAQs', id: 'beaconchain/faq/faq', + }, + { + type: 'doc', + id: 'BNBSidechain/faqs-bas', + label: 'BNB Sidechain FAQs', + }, ], }, diff --git a/src/components/HomepageFeatures.js b/src/components/HomepageFeatures.js index 7755da6..9a5bcb0 100644 --- a/src/components/HomepageFeatures.js +++ b/src/components/HomepageFeatures.js @@ -12,7 +12,7 @@ function CardPrint() {
- + {bnblogo}
diff --git a/src/css/custom.css b/src/css/custom.css index 4928eff..dc3fb6e 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -14,6 +14,16 @@ src: url('../../static/IBM Plex Sans Font/IBM-Plex-Mono/IBMPlexMono-Regular.otf') format('otf'); } +img{ + /*max-width: 80%; + max-height: auto;*/ + justify-content: center; +} + +img[BNB]{ + max-height: 100%; + max-width: 100% +} :root { --ifm-color-primary: #f0b90b; @@ -54,6 +64,45 @@ html[data-theme='light'] .navbar dropdown { --ifm-color-primary-dark: #0a0a0a; /* any other colors you wish to overwrite */ } -/*color: #ffffff;*/ +/*styling for search */ +[data-theme='light'] .DocSearch { + /* --docsearch-primary-color: var(--ifm-color-primary); */ + /* --docsearch-text-color: var(--ifm-font-color-base); */ + --docsearch-muted-color: var(--ifm-color-secondary-darkest); + --docsearch-container-background: rgba(94, 100, 112, 0.7); + /* Modal */ + --docsearch-modal-background: var(--ifm-color-secondary-lighter); + /* Search box */ + --docsearch-searchbox-background: var(--ifm-color-secondary); + --docsearch-searchbox-focus-background: var(--ifm-color-white); + /* Hit */ + --docsearch-hit-color: var(--ifm-font-color-base); + --docsearch-hit-active-color: var(--ifm-color-white); + --docsearch-hit-background: var(--ifm-color-white); + /* Footer */ + --docsearch-footer-background: var(--ifm-color-white); +} + +[data-theme='dark'] .DocSearch { + --docsearch-text-color: var(--ifm-font-color-base); + --docsearch-muted-color: var(--ifm-color-secondary-darkest); + --docsearch-container-background: rgba(47, 55, 69, 0.7); + /* Modal */ + --docsearch-modal-background: var(--ifm-background-color); + /* Search box */ + --docsearch-searchbox-background: var(--ifm-background-color); + --docsearch-searchbox-focus-background: var(--ifm-color-black); + /* Hit */ + --docsearch-hit-color: var(--ifm-font-color-base); + --docsearch-hit-active-color: var(--ifm-color-white); + --docsearch-hit-background: var(--ifm-color-emphasis-100); + /* Footer */ + --docsearch-footer-background: var(--ifm-background-surface-color); + --docsearch-key-gradient: linear-gradient( + -26.5deg, + var(--ifm-color-emphasis-200) 0%, + var(--ifm-color-emphasis-100) 100% + ); +} diff --git a/src/pages/index.js b/src/pages/index.js index f80ac3e..2d2b8cc 100644 --- a/src/pages/index.js +++ b/src/pages/index.js @@ -1,13 +1,6 @@ import React from 'react'; -/*import clsx from 'clsx'; -import style from '../css/custom.css' -import Layout from '@theme/Layout'; -import Link from '@docusaurus/Link'; -import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; -import styles from './index.module.css'; -import CardPrint from '../components/HomepageFeatures';*/ import { Redirect } from 'react-router-dom'; export default function Home() { return ; -} \ No newline at end of file +} diff --git a/static/img/assets/BNBChain.png b/static/img/assets/BNBChain.png new file mode 100644 index 0000000..2a22779 Binary files /dev/null and b/static/img/assets/BNBChain.png differ diff --git a/static/img/assets/BNBChain2022.jpg b/static/img/assets/BNBChain2022.jpg new file mode 100644 index 0000000..2b9f033 Binary files /dev/null and b/static/img/assets/BNBChain2022.jpg differ diff --git a/static/img/assets/bas-architecture1.jpg b/static/img/assets/bas-architecture1.jpg new file mode 100644 index 0000000..0d97dff Binary files /dev/null and b/static/img/assets/bas-architecture1.jpg differ diff --git a/static/img/assets/bas-architecture1.png b/static/img/assets/bas-architecture1.png new file mode 100644 index 0000000..f121a60 Binary files /dev/null and b/static/img/assets/bas-architecture1.png differ diff --git a/static/img/assets/bas-package.JPG b/static/img/assets/bas-package.JPG new file mode 100644 index 0000000..013b3aa Binary files /dev/null and b/static/img/assets/bas-package.JPG differ diff --git a/static/img/assets/bnb-sidechain-faucet.JPG b/static/img/assets/bnb-sidechain-faucet.JPG new file mode 100644 index 0000000..5509b24 Binary files /dev/null and b/static/img/assets/bnb-sidechain-faucet.JPG differ diff --git a/static/img/assets/bnb-sidechain-metamsk-config-2.JPG b/static/img/assets/bnb-sidechain-metamsk-config-2.JPG new file mode 100644 index 0000000..e9cb0e1 Binary files /dev/null and b/static/img/assets/bnb-sidechain-metamsk-config-2.JPG differ diff --git a/static/img/assets/bnb-sidechain-metamsk-config.JPG b/static/img/assets/bnb-sidechain-metamsk-config.JPG new file mode 100644 index 0000000..5dff257 Binary files /dev/null and b/static/img/assets/bnb-sidechain-metamsk-config.JPG differ diff --git a/static/img/assets/bs-architecture.png b/static/img/assets/bs-architecture.png new file mode 100644 index 0000000..a9086a6 Binary files /dev/null and b/static/img/assets/bs-architecture.png differ diff --git a/static/img/assets/create-wallet-for-bas.png b/static/img/assets/create-wallet-for-bas.png new file mode 100644 index 0000000..75625a3 Binary files /dev/null and b/static/img/assets/create-wallet-for-bas.png differ diff --git a/static/img/assets/metamask-getstarted.png b/static/img/assets/metamask-getstarted.png new file mode 100644 index 0000000..c985790 Binary files /dev/null and b/static/img/assets/metamask-getstarted.png differ diff --git a/static/img/assets/metamask-install.png b/static/img/assets/metamask-install.png new file mode 100644 index 0000000..2c10153 Binary files /dev/null and b/static/img/assets/metamask-install.png differ diff --git a/static/img/assets/send-bas-token-1.JPG b/static/img/assets/send-bas-token-1.JPG new file mode 100644 index 0000000..0f6cdd3 Binary files /dev/null and b/static/img/assets/send-bas-token-1.JPG differ diff --git a/static/img/assets/send-bas-token-2.JPG b/static/img/assets/send-bas-token-2.JPG new file mode 100644 index 0000000..da9ea86 Binary files /dev/null and b/static/img/assets/send-bas-token-2.JPG differ diff --git a/static/img/assets/send-bas-token-3.JPG b/static/img/assets/send-bas-token-3.JPG new file mode 100644 index 0000000..953e704 Binary files /dev/null and b/static/img/assets/send-bas-token-3.JPG differ diff --git a/static/img/assets/send-bas-token-4.JPG b/static/img/assets/send-bas-token-4.JPG new file mode 100644 index 0000000..f8ff69e Binary files /dev/null and b/static/img/assets/send-bas-token-4.JPG differ diff --git a/static/img/assets/send-bas-token-5.JPG b/static/img/assets/send-bas-token-5.JPG new file mode 100644 index 0000000..ee93ab3 Binary files /dev/null and b/static/img/assets/send-bas-token-5.JPG differ diff --git a/static/img/assets/send-bas-token-6.JPG b/static/img/assets/send-bas-token-6.JPG new file mode 100644 index 0000000..afaafc7 Binary files /dev/null and b/static/img/assets/send-bas-token-6.JPG differ diff --git a/static/img/favicon.ico b/static/img/favicon.ico deleted file mode 100644 index a25d7d4..0000000 Binary files a/static/img/favicon.ico and /dev/null differ diff --git a/static/img/icon/favicon.ico b/static/img/icon/favicon.ico new file mode 100644 index 0000000..693bb20 Binary files /dev/null and b/static/img/icon/favicon.ico differ diff --git a/yarn.lock b/yarn.lock index 864d66a..f33ef42 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2541,9 +2541,9 @@ "lodash.uniq" "^4.5.0" "caniuse-lite@^1.0.0", "caniuse-lite@^1.0.30001272", "caniuse-lite@^1.0.30001280": - "integrity" "sha512-t28SKa7g6kiIQi6NHeOcKrOrGMzCRrXvlasPwWC26TH2QNdglgzQIRUuJ0cR3NeQPH+5jpuveeeSFDLm2zbkEw==" - "resolved" "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001284.tgz" - "version" "1.0.30001284" + "integrity" "sha512-VFaWW3jeo6DLU5rwdiasosxhYSduJgSGil4cSyX3/85fbctlE58pXAkWyuRmVA0r2RxsOSVYUTZcySJ8WpbTxw==" + "resolved" "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001349.tgz" + "version" "1.0.30001349" "ccount@^1.0.0", "ccount@^1.0.3": "integrity" "sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==" @@ -3279,6 +3279,13 @@ dependencies: "buffer-indexof" "^1.0.0" +"docusaurus-plugin-image-zoom@^0.1.1": + "integrity" "sha512-cJXo5TKh9OR1gE4B5iS5ovLWYYDFwatqRm00iXFPOaShZG99l5tgkDKgbQPAwSL9wg4I+wz3aMwkOtDhMIpKDQ==" + "resolved" "https://registry.npmjs.org/docusaurus-plugin-image-zoom/-/docusaurus-plugin-image-zoom-0.1.1.tgz" + "version" "0.1.1" + dependencies: + "medium-zoom" "^1.0.6" + "dom-converter@^0.2.0": "integrity" "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==" "resolved" "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz" @@ -5126,6 +5133,11 @@ "resolved" "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" "version" "0.3.0" +"medium-zoom@^1.0.6": + "integrity" "sha512-UdiUWfvz9fZMg1pzf4dcuqA0W079o0mpqbTnOz5ip4VGYX96QjmbM+OgOU/0uOzAytxC0Ny4z+VcYQnhdifimg==" + "resolved" "https://registry.npmjs.org/medium-zoom/-/medium-zoom-1.0.6.tgz" + "version" "1.0.6" + "memfs@^3.1.2", "memfs@^3.2.2": "integrity" "sha512-o/RfP0J1d03YwsAxyHxAYs2kyJp55AFkMazlFAZFR2I2IXkxiUTXRabJ6RmNNCQ83LAD2jy52Khj0m3OffpNdA==" "resolved" "https://registry.npmjs.org/memfs/-/memfs-3.4.0.tgz"