diff --git a/develop/.pages b/develop/.pages index be897d186..c7a601c7f 100644 --- a/develop/.pages +++ b/develop/.pages @@ -1,7 +1,6 @@ title: Develop nav: - index.md - - 'Development Pathways': development-pathways.md - 'Networks': networks.md - parachains - smart-contracts diff --git a/develop/development-pathways.md b/develop/development-pathways.md deleted file mode 100644 index 44a5f289e..000000000 --- a/develop/development-pathways.md +++ /dev/null @@ -1,59 +0,0 @@ ---- -title: Development Pathways -description: Explore the development pathways in the Polkadot ecosystem, from building dApps to creating core blockchain functionality and customizable runtimes. -template: root-subdirectory-page.html ---- - -# Development Pathways - -## Introduction - -Developers can choose from different development pathways to build applications and core blockchain functionality. Each pathway caters to different types of projects and developer skill sets, while complementing one another within the broader network. - -The Polkadot ecosystem provides multiple development pathways: - -```mermaid -graph TD - A[Development Pathways] - A --> B[Smart Contract Development] - A --> C[Parachain Development] - A --> D[Client-Side Development] -``` - -## Smart Contract Development - -Smart contracts are sandboxed programs that run within a virtual machine on the blockchain. These deterministic pieces of code are deployed at specific blockchain addresses and execute predefined logic when triggered by transactions. Because they run in an isolated environment, they provide enhanced security and predictable execution. Smart contracts can be deployed permissionlessly, allowing any developer to create and launch applications without requiring special access or permissions. They enable developers to create trustless applications by encoding rules, conditions, and state transitions that leverage the security and transparency of the underlying blockchain. - -Some key benefits of developing smart contracts include ease of development, faster time to market, and permissionless deployment. Smart contracts allow developers to quickly build and deploy decentralized applications without complex infrastructure or intermediaries. This accelerates the development lifecycle and enables rapid innovation within the Polkadot ecosystem. - -For more information on developing smart contracts in the Polkadot ecosystem, check the [Smart Contracts](/develop/smart-contracts/overview){target=\_blank} section. - -## Parachain Development - -[Runtimes](/polkadot-protocol/glossary#runtime){target=\_blank} are the core building blocks that define the logic and functionality of Polkadot SDK-based parachains. Developers can customize and extend the features of their blockchain, allowing for tighter integration with critical network tasks such as block production, consensus mechanisms, and governance processes. - -Runtimes can be upgraded through forkless runtime updates, enabling seamless evolution of the parachain without disrupting existing functionality. - -Developers can define the parameters, rules, and behaviors that shape their blockchain network. This includes token economics, transaction fees, permissions, and more. Using the Polkadot SDK, teams can iterate on their blockchain designs, experiment with new features, and deploy highly specialized networks tailored to their specific use cases. - -For those interested in delving deeper into runtime development, explore the dedicated [Customize Your Parachain](/develop/parachains/customize-parachain){target=\_blank} section. - -## Client-Side Development - -The client-side development path is dedicated to building applications that interact with Polkadot SDK-based blockchains and enhance user engagement with the network. While decentralized applications (dApps) are a significant focus, this pathway also includes developing other tools and interfaces that expand users' interactions with blockchain data and services. - -Client-side developers can build: - -- **Decentralized applications (dApps)** - these applications leverage the blockchain's smart contracts or runtimes to offer a wide range of features, from financial services to gaming and social applications, all accessible directly by end-users - -- **Command-line interfaces (CLIs)** - CLI tools empower developers and technical users to interact with the blockchain programmatically. These tools enable tasks like querying the blockchain, deploying smart contracts, managing wallets, and monitoring network status - -- **Data analytics and visualization tools** - developers can create tools that aggregate, analyze, and visualize on-chain data to help users and businesses understand trends, track transactions, and gain insights into the network's health and usage - -- **Wallets** - securely managing accounts and private keys is crucial for blockchain users. Client-side development includes building user-friendly wallets, account management tools, and extensions that integrate seamlessly with the ecosystem - -- **Explorers and dashboards** - blockchain explorers allow users to view and search on-chain data, including blocks, transactions, and accounts. Dashboards provide a more interactive interface for users to monitor critical metrics, such as staking rewards, governance proposals, and network performance - -These applications can leverage the Polkadot blockchain's underlying protocol features to create solutions that allow users to interact with the ecosystem. The Client-side development pathway is ideal for developers interested in enhancing user experiences and building applications that bring the power of decentralized networks to a broader audience. - -Check the [API Libraries](/develop/toolkit/api-libraries/){target=\_blank} section for essential tools to interact with Polkadot SDK-based blockchain data and protocol features. \ No newline at end of file diff --git a/develop/index.md b/develop/index.md index e33c9bce0..f16260a77 100644 --- a/develop/index.md +++ b/develop/index.md @@ -6,29 +6,213 @@ hide: template: index-page.html --- -# Develop and Deploy with Polkadot +# Develop with Polkadot -Polkadot offers a unique platform for developers to build the next generation of blockchain solutions. Whether developing a custom parachain, deploying smart contracts, or crafting user-facing applications, the Polkadot ecosystem provides the tools, frameworks, and infrastructure to bring your vision to life. +## Introduction -This section builds on concepts from the [Polkadot Protocol](/polkadot-protocol){target=\_blank} section, providing the practical knowledge and resources needed to design, deploy, and operate scalable solutions in the Polkadot ecosystem. By leveraging Polkadot's unique features, such as interoperability and decentralized security, developers can build applications and infrastructure tailored to their needs. +This guide is a starting point for developers who wish to build in the Polkadot ecosystem. To get the most from this section: -## Choose Your Development Path +1. Identify your development pathway: + - [**Parachain Developers**](#parachain-developers) - build, deploy, and maintain custom parachains with the Polkadot SDK + - [**Smart Contract Developers**](#smart-contract-developers) - leverage smart contracts and execute custom logic over existing chains to streamline your development process + - [**Application Developers**](#application-developers) - leverage Polkadot's underlying protocol features to create solutions for your users to interact with the ecosystem +2. Use the sections under your pathway as follows: + - **Learn** - content to deepen your knowledge and understanding + - **Build** - connect to goal-oriented guides and step-by-step tutorials + - **Tools** - tools commonly used in your pathway + - **Resources** - resources for your pathway, including references, code repositories, and outside documentation -- **Parachain developers** - build, deploy, and maintain custom parachains with the Polkadot SDK. From runtime customization to network operations, learn how to create a scalable and efficient parachain +## Development Pathways - - **Where to start** - [Introduction to the Polkadot SDK](/develop/parachains/get-started/intro-polkadot-sdk/){target=\_blank} +Developers can choose from different development pathways to build applications and core blockchain functionality. Each pathway caters to different types of projects and developer skill sets while complementing one another within the broader network. -- **Smart contract developers** - utilize Polkadot's support for Wasm-based contracts with ink! or deploy Solidity contracts on EVM-compatible parachains. Leverage familiar tools to write, test, and manage decentralized logic +The Polkadot ecosystem provides multiple development pathways: - - **Where to start** - [Overview of the Smart Contract Landscape on Polkadot](/develop/smart-contracts/overview/){target=\_blank} +```mermaid +graph TD + A[Development Pathways] + A --> B[Parachain Development] + A --> C[Smart Contract Development] + A --> D[Application Development] +``` -- **Application developers** - integrate your applications with the Polkadot ecosystem using wallets, oracles, indexers, and more. Explore guides on how to leverage Polkadot's decentralized infrastructure to deliver high-performing, user-facing solutions +!!! tip + All three pathways can leverage Cross-Consensus Messaging (XCM) to create innovative cross-chain workflows and applications. Get started with these resources: - - **Where to start** - [Polkadot Ecosystem Toolkit](/develop/toolkit/){target=\_blank} + - [**Introduction to XCM**](/develop/interoperability/intro-to-xcm/){target=\_blank} - introduces key concepts, core function definitions, and code examples + - [**XCM Tools**](/develop/toolkit/interoperability/xcm-tools/){target=\_blank} - provides an overview of popular XCM tools + - [**Tutorials for Managing XCM Channels**](/tutorials/interoperability/xcm-channels/){target=\_blank} - guides for using [Polkadot.js Apps](https://polkadot.js.org/apps/#/explorer){target=\_blank} UI to establish cross-chain messaging channels -- **Cross-chain developers** - harness Polkadot's interoperability features to enable secure communication and asset transfers across blockchains. Leverage Cross-Consensus Messaging (XCM) to create innovative cross-chain workflows and applications - - **Where to start** - [Introduction to XCM](/develop/interoperability/intro-to-xcm/){target=\_blank} +### Parachain Developers + +Build, deploy, and maintain custom parachains with the Polkadot SDK. + +
+ +:octicons-book-16:{ .lg .middle } **Learn** + +[Parachains Overview](/polkadot-protocol/architecture/parachains/overview/){target=\_blank} + +[Custom Parachains](/develop/parachains/get-started/build-custom-parachains/){target=\_blank} + +[Introduction to the Polkadot SDK](/develop/parachains/get-started/intro-polkadot-sdk/){target=\_blank} + +--- + +
+ +
+ +:octicons-rocket-16:{ .lg .middle } **Build** + +[Parachain Developer Zero to Hero Guides](tutorials/polkadot-sdk/parachains/zero-to-hero/){target=\_blank} + +[Install Polkadot SDK Dependencies](/develop/parachains/get-started/install-polkadot-sdk/){target=\_blank} + +--- + +
+ +
+ +:octicons-tools-16:{.lg .middle} **Tools** + + +[Parachain Template](https://github.com/paritytech/polkadot-sdk/tree/master/templates/parachain){target=\_blank} + +[Open Zeppelin Polkadot Runtime Templates](https://github.com/OpenZeppelin/polkadot-runtime-templates/tree/main){target=\_blank} + +--- + +
+ +
+ +:octicons-code-square-16:{.lg .middle} **Resources** + + +[Polkadot SDK source code repository](https://github.com/paritytech/polkadot-sdk){target=\_blank} + +[FRAME source code repository](https://github.com/paritytech/polkadot-sdk/tree/master/substrate/frame){target=\_blank} + +--- + +
+ +### Smart Contract Developers + +Leverage smart contracts and execute custom logic over existing chains to streamline your development process. + +!!! tip + The Polkadot smart contract ecosystem is in active development. Please expect frequent changes. You can follow progress, or join the discussion, by visiting this [Contracts on AssetHub Roadmap](https://forum.polkadot.network/t/contracts-on-assethub-roadmap/9513/57){target=\_blank} Polkadot Network Forum post. + + +
+ +:octicons-book-16:{ .lg .middle } **Learn** + +[Overview - Smart Contracts on Polkadot](/develop/smart-contracts/overview/){target=\_blank} + +[EVM Compatible Parachains](/develop/smart-contracts/evm/parachain-contracts/#evm-compatible-parachains){target=\_blank} + +--- + +
+ +
+ +:octicons-rocket-16:{.lg .middle} **Build** + +[Deploy a Smart Contract to Asset Hub](/develop/smart-contracts/evm/native-evm-contracts/#deploy-a-smart-contract-to-asset-hub){target=\_blank} + +[Deploy a Wasm Smart Contract](/develop/smart-contracts/wasm-ink/){target=\_blank} + +--- + +
+ +
+ +:octicons-tools-16:{.lg .middle} **Tools** + +[`cargo-contract` CLI Tool](https://github.com/use-ink/cargo-contract){target=\_blank} + +[Remix - Ethereum IDE](https://remix.ethereum.org/){target=\_blank} + +--- + +
+ +
+ +:octicons-code-square-16:{.lg .middle} **Resources** + +[Runtime vs Smart Contract - Polkadot SDK Rust docs](https://paritytech.github.io/polkadot-sdk/master/polkadot_sdk_docs/reference_docs/runtime_vs_smart_contract/index.html){target=\_blank} + +[Pure Rust Implementation of EVM](https://github.com/rust-ethereum/evm){target=\_blank} + +--- + +
+ +### Application Developers + +Integrate with the Polkadot blockchain's underlying protocol features to create solutions that allow users to interact with the ecosystem. + +
+ +:octicons-book-16:{ .lg .middle } **Learn** + +[Options for Wallet Integration](/develop/toolkit/integrations/wallets/){target=\_blank} + +[Options for Indexer Integration](/develop/toolkit/integrations/indexers/){target=\_blank} + +[Options for Oracle Integration](/develop/toolkit/integrations/oracles/){target=\_blank} + +--- + +
+ +
+ +:octicons-rocket-16:{.lg .middle} **Build** + +[Install and Get Started with Polkadot.js API](/develop/toolkit/api-libraries/polkadot-js-api/){target=\_blank} + +[Install and Get Started with Polkadot-API (PAPI)](/develop/toolkit/api-libraries/papi/){target=\_blank} + +[Install and Get Started with Python Substrate Interface](/develop/toolkit/api-libraries/py-substrate-interface/){target=\_blank} + +--- + +
+ +
+ +:octicons-tools-16:{.lg .middle} **Tools** + +[Polkadot.js API](https://github.com/polkadot-js/api){target=\_blank} + +[Polkadot-API (PAPI)](https://github.com/polkadot-api/polkadot-api){target=\_blank} + +[Sidecar REST API](https://github.com/paritytech/substrate-api-sidecar){target=\_blank} + +--- + +
+ +
+ +:octicons-code-square-16:{.lg .middle} **Resources** + +[RPC Endpoints](/develop/networks/){target=\_blank} + +[Polkadot Ecosystem Toolkit](/develop/toolkit/){target=\_blank} + +--- + +
## In This Section diff --git a/develop/parachains/index.md b/develop/parachains/index.md index 052b1c8da..e760688a8 100644 --- a/develop/parachains/index.md +++ b/develop/parachains/index.md @@ -16,12 +16,12 @@ With the [Polkadot relay chain](/polkadot-protocol/architecture/polkadot-chain/) Polkadot SDK’s FRAME framework provides developers with the tools to do the following: -- Customize parachain runtimes -- Develop new pallets -- Add smart contract functionality -- Test your build for a confident deployment -- Deploy your blockchain for use -- Maintain your network including monitoring and upgrades +- **Customize parachain runtimes** - [runtimes](/polkadot-protocol/glossary/#runtime){target=\_blank} are the core building blocks that define the logic and functionality of Polkadot SDK-based parachains and let developers customize the parameters, rules, and behaviors that shape their blockchain network +- **Develop new pallets** - create custom modular pallets to define runtime behavior and acheive desired blockchain functionality +- **Add smart contract functionality** - use specialized pallets to deploy and execute smart contracts, enhancing your chain's functionality and programmability +- **Test your build for a confident deployment** - create a test environment that can simulate runtime and mock transaction execution +- **Deploy your blockchain for use** - take your Polkadot SDK-based blockchain from a local environment to production +- **Maintain your network including monitoring and upgrades** - runtimes can be ugraded through forkless runtime updates, enabling seamless evolution of the parachain New to parachain development? Start with the [Introduction to the Polkadot SDK](/develop/parachains/get-started/intro-polkadot-sdk/) to discover how this framework simplifies building custom parachains. diff --git a/develop/smart-contracts/index.md b/develop/smart-contracts/index.md index 8d95e050f..1a60906a4 100644 --- a/develop/smart-contracts/index.md +++ b/develop/smart-contracts/index.md @@ -16,6 +16,9 @@ This section guides you through the tools, resources, and guides to help you bui For developers building smart contracts in the Polkadot ecosystem, the choice between parachains supporting ink! (for Wasm contracts) and EVM-compatible parachains (for Solidity contracts) depend on the preferred development environment and language. By selecting the right parachain, developers can leverage Polkadot's scalability and interoperability while utilizing the framework that best suits their needs. +!!! tip + The Polkadot smart contract ecosystem is in active development. Please expect frequent changes. You can follow progress, or join the discussion, by visiting this [Contracts on AssetHub Roadmap](https://forum.polkadot.network/t/contracts-on-assethub-roadmap/9513/57){target=\_blank} Polkadot Network Forum post. + Here are some key considerations: - [**Wasm (ink!) contracts**](/develop/smart-contracts/wasm-ink/){target=\_blank} - contracts are written in Rust and compiled to Wasm. The advantage of Wasm is that it allows for more flexibility, speed, and potentially lower execution costs compared to EVM, especially in the context of Polkadot's multi-chain architecture diff --git a/develop/toolkit/index.md b/develop/toolkit/index.md index 6865b852e..5e1462fbf 100644 --- a/develop/toolkit/index.md +++ b/develop/toolkit/index.md @@ -12,9 +12,9 @@ Explore Polkadot's core development toolkit, designed to support a variety of de Key tools for different audiences: -- **Blockchain developers** - leverage development tools for building and managing Polkadot SDK-based blockchains, optimizing the infrastructure of the ecosystem -- **DApp developers** - develop decentralized applications (dApps) that interact seamlessly with the Polkadot network, using APIs, SDKs, and integration tools for efficient application development -- **Cross-chain application developers** - create applications that operate across multiple blockchains, using Polkadot’s XCM and messaging tools to enable interoperability and asset transfers +- **Parachain developers** - leverage development tools for building and managing Polkadot SDK-based blockchains, optimizing the infrastructure of the ecosystem +- **Application developers** - develop decentralized applications (dApps) that interact seamlessly with the Polkadot network, using APIs, SDKs, and integration tools for efficient application development +- **All development paths** - use Polkadot’s XCM and messaging tools to enable interoperability and asset transfers ## In This Section diff --git a/develop/toolkit/integrations/wallets.md b/develop/toolkit/integrations/wallets.md index 4774f4014..561bf5e1f 100644 --- a/develop/toolkit/integrations/wallets.md +++ b/develop/toolkit/integrations/wallets.md @@ -24,7 +24,7 @@ Wallet types fall into two categories based on their connection to the internet: A non-custodial, mobile-first wallet for managing assets and interacting with the Polkadot and Kusama ecosystems. It supports staking, governance, cross-chain transfers, and crowdloans. With advanced features, seamless multi-network support, and strong security, Nova Wallet empowers users to explore the full potential of Polkadot parachains on the go. - [:octicons-arrow-right-24: Reference](https://talisman.xyz/){target=\_blank} + [:octicons-arrow-right-24: Reference](https://novawallet.io/){target=\_blank} - __Talisman__