-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Build Section Reorg - "Polkadot Developer Portal" (#5332)
* start refactor * add description * structure + new pages * moved lots of stuff around * specifiy light clients * clean up portal layout * little more scaffolding * fill out more pages * add todos * Remove ss58 page * add generated index page * minor edits to grammar * minor grammar edits * minor grammar edits --------- Co-authored-by: filippoweb3 <[email protected]>
- Loading branch information
1 parent
f1e7435
commit d3aae50
Showing
14 changed files
with
245 additions
and
173 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
--- | ||
id: build-dapp | ||
title: Building dApps | ||
sidebar_label: Building dApps | ||
description: An overview about building dApps on Polkadot | ||
keywords: [data, index, query, explorer, dashboard, dapp, uapp, app, frontend, client] | ||
slug: ../build-dapp | ||
--- | ||
|
||
import Tabs from "@theme/Tabs"; import TabItem from "@theme/TabItem"; | ||
|
||
As with any blockchain, building decentralized applications (dApps) is a huge part of how a | ||
developer can build on Polkadot. Within the ecosystem, you also hear the term "Unstoppable App", or | ||
uApp. While the naming isn't too important, what is important is building resilient applications | ||
using decentralized technology. | ||
|
||
As an application developer, you can compose your front-end apps in a few different ways. Because | ||
Polkadot and its parachains are all built using Substraste; you can often use the same SDK to | ||
communicate with Polkadot, a parachain, or any other Substrate-based chain. | ||
|
||
:::note Substrate-based chains use an SS58 encoding for their address formats. | ||
|
||
Please see the [SS58 registry](https://github.com/paritytech/ss58-registry/) to see which | ||
[chain corresponds to a given prefix](https://github.com/paritytech/ss58-registry/blob/main/ss58-registry.json), | ||
and which prefixes are available. | ||
|
||
::: | ||
|
||
## SDKS & Libraries | ||
|
||
If one aims to develop a **dApp** (Decentralized App) or **uApp** (Unstoppable App), the Polkadot | ||
ecosystem contains various SDKs to tap into the relay chain and parachains. There are several | ||
languages already supported - | ||
[see the tooling page for a detailed overview of different SDKs and libraries that are available.](./build-tools-index.md) | ||
|
||
## Frameworks & Toolkits | ||
|
||
For front-end applications, several options exist for interfacing with Substrate-based chains | ||
(parachains, relay chains, etc.) and smart contracts. These often will interact with the RPC of a | ||
Substrate node: | ||
|
||
<!-- prettier-ignore --> | ||
<Tabs groupId="clients" values={[ {label: 'Polkadot.js', value: 'pjs'}, {label: 'Subxt', value: 'subxt'}, {label: 'React Hooks for ink!', value: 'useink'}, {label: 'ink!athon Boilerplate', value: 'inkathon'}, { label: 'Polkadot Cloud', value: 'pcloud'} ]}> | ||
|
||
<TabItem value="pjs"> Promise and RxJS APIs around Polkadot and Substrate-based chains via RPC | ||
calls. It is dynamically generated based on what the Substrate runtime provides regarding metadata. | ||
Full documentation & examples | ||
available <a href="https://polkadot.js.org/docs" target="_blank">here</a>. </TabItem> | ||
|
||
<TabItem value="subxt"> Query and submit extrinsics (transactions) to a Substrate node via RPC using | ||
Rust. Also referred to as Rust Parity. Full documentation & examples | ||
available <a href="https://github.com/paritytech/subxt" target="_blank">here</a>. </TabItem> | ||
|
||
<TabItem value="useink"> React hooks library for ink! smart contracts that abstract the | ||
functionality of polkadot.js. Full documentation & examples | ||
available <a href="https://use.ink" target="_blank">here</a>. </TabItem> | ||
|
||
<TabItem value="inkathon">ink!athon is a starter kit for full-stack dApp development with ink! smart | ||
contracts and a React-based frontend in one place. With convenient helper scripts and a | ||
pre-configured project setup, you can quickly scaffold any dApp. Live example & full documentation | ||
available <a href="https://inkathon.xyz" target="_blank">here</a>. </TabItem> | ||
|
||
<TabItem value="pcloud">Polkadot Cloud hosts a library of assets, ranging from data sources, | ||
graphical elements, to fully functional components, for app developers to plug and play into their | ||
codebases. <a href="https://polkadot.cloud/" target="_blank">Learn more here</a>. </TabItem> | ||
|
||
</Tabs> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
10 changes: 5 additions & 5 deletions
10
docs/build/build-substrate.md → docs/build/build-light-clients.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
--- | ||
id: build-network-overview | ||
title: Networks Overview | ||
sidebar_label: Networks Overview | ||
description: An overview of the different networks on Polkadot | ||
keywords: [data, index, query, explorer, dashboard, dapp, uapp, app, frontend, client] | ||
slug: ../build-network-overview | ||
--- | ||
|
||
While Polkadot itself is the mainnet, there are several networks that can cater to different | ||
development or application-driven contexts. | ||
|
||
## Polkadot Ecosystem Networks | ||
|
||
- Mainnet: **Polkadot** | ||
- Canary network: **Kusama** | ||
- [Kusama](https://kusama.network/) is a value-bearing canary network that gets features before | ||
Polkadot does. _Expect Chaos_. | ||
- Official testnets: | ||
- **Westend** - Functionality equal to the current Polkadot mainnet, with possible next-generation | ||
testing of features from time to time that will eventually migrate onto Polkadot. Perma-testnet | ||
(is not reset back to genesis block). | ||
- **Rococo** - Parachains and XCM testnet. Occasionally reset (started over again with a new | ||
genesis block). | ||
- **Contracts** - Wasm-based Smart Contract enabled parachain testnet on Rococo, primarily for | ||
[`ink!`](https://use.ink/) development. | ||
|
||
{{ polkadot: Polkadot mainnet has been running since May 2020 :polkadot }}{{ kusama: Kusama mainnet has been | ||
running since August 2019 :kusama }} and has [implementations in various programming languages](../learn/learn-implementations.md) | ||
ranging from Rust to JavaScript. The leading implementation is built in Rust and uses the Substrate framework. | ||
|
||
Tooling is rapidly evolving to interact with the network; there are many ways to get started! | ||
|
||
But before you jump head-first into the code, you should consider the _kind_ of decentralized | ||
application you want to make and understand the different paradigms available to developers who want | ||
to build on {{ polkadot: Polkadot :polkadot }}{{ kusama: Kusama :kusama }}. | ||
|
||
## Interfacing - PolkadotJS | ||
|
||
PolkadotJS is the most widely used developer tool in the Polkadot ecosystem. It provides a web app | ||
to interact with various parachains, nodes, and their RPCs, as well as a Javascript API for use | ||
within front-end contexts. You can view more on PolkadotJS and its resources | ||
[here](https://polkadot.js.org/). | ||
|
||
For other programmatic ways of interacting with these networks (including PolkadotJS), please view | ||
the [Node Interactions page](./build-node-interaction.md). | ||
|
||
## Testnet Faucets | ||
|
||
Almost all tesnets either have a web-based interface for getting test currency or a Matrix room | ||
which you can post `!drip <ADDRESS>` | ||
|
||
[See here for all available faucets and how to obtain testnet tokens.](../learn/learn-DOT.md#obtaining-testnet-tokens) |
Oops, something went wrong.