Skip to content
This repository has been archived by the owner on Jan 5, 2024. It is now read-only.

Commit

Permalink
Merge branch 'main' into ciara/paper-id
Browse files Browse the repository at this point in the history
  • Loading branch information
ciaranightingale authored Sep 15, 2023
2 parents 7376e0f + 2d9bbf8 commit 1b4a56e
Show file tree
Hide file tree
Showing 2 changed files with 72 additions and 15 deletions.
86 changes: 71 additions & 15 deletions docs/onboarding/0 1 Platform Overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -24,31 +24,87 @@ Our tool suite accelerates your development workflow across the smart contract,
alt="platform-overview"
/>

## Wallets

Onboard, manage and authenticate users with thirdweb's wallet integrations.

### 1. Create Wallets

- [ERC-4337 Smart Contract Wallets](/smart-wallet): Create account abstraction wallets that are controlled by a smart contract.
- [Email and Social Wallets](/wallet/paper): Create wallets using email or social media accounts.
- [Local Wallets](/wallet/local-wallet): Create low-level, non-custodial wallets that simplify the onboarding process and improve the user experience for web3 apps.

### 2. Connect Wallets

- **Connect Wallet**: a pre-built component that can be easily integrated into your application. Languages include:
- [React](/react/connectwallet)
- [React Native](/react-native/connectwallet)
- [Unity](/unity/unity.connectwallet)
- [**Wallet SDK**](/wallet): allows you to build a fully featured wallet solution or integrate an existing wallet provider with thirdweb's Typescript, React, React Native, and Unity SDKs.

### 3. Authenticate Users

[Auth](/auth) is a developer SDK that lets you integrate passwordless **web3-native authentication and authorization** into your applications.

## Smart Contracts

Smart contracts serve as the foundational building blocks for any decentralized application.
We conduct audits on our [pre-built contracts](/explore) to ensure the highest quality and security level.
We also optimize contracts for gas efficiency, minimizing transaction costs.
By prioritizing these technical considerations, developers can focus on creating exceptional web3 applications with confidence and ease.
thirdweb is designed to integrate with any contract on any blockchain seamlessly.

### 1. Build Smart Contracts

thirdweb offers two tools to help you build your smart contract, including:

thirdweb is designed to integrate with any contract on any blockchain seamlessly. With the [**Solidity SDK**](/solidity), you can quickly build and customize smart contracts while enabling extensions to unlock more functionality.
Whether you're deploying your smart contract, without using a private key, with the [**Deploy**](/deploy) [CLI](/cli) command, importing an already deployed contract, or exploring pre-built contracts through [**Explore**](https://thirdweb.com/explore),
it streamlines the first steps of decentralized development.
Upon deployment, using [**Dashboard**](/dashboard), you can easily manage your smart contract and track its performance through **Data Feeds**.
- [**Solidity SDK**](/solidity): build and customize smart contracts and add extensions to unlock extra functionality in your contract and therefore the [SDKs](/sdk).
- [**Pre-Built Contracts**](/pre-built-contracts): 1 click deploy contracts written by the thirdweb team and cover the most common use cases for smart contracts.

## Applications
### 2. Explore Pre-Built Contracts

thirdweb offers [software development kits](/sdk) (SDKs) that allow seamless integration with your smart contract when developing applications or games using popular programming languages such as [React](/react), [React Native](/react-native), [TypeScript](/typescript), [Python](/python), [Go](/go), and [Unity](/unity).
Explore thirdweb's pre-built contracts and easily deploy your contract from the Dashboard.
A full list of the available contracts can be found [in the pre-built contracts documentation](/pre-built-contracts).

Our SDKs detected the [extensions](/solidity/extensions) or common Ethereum patterns and standards (i.e., [ERC-20](/solidity/extensions/erc20), [ERC-721](/solidity/extensions/erc721), [ERC-1155](/solidity/extensions/erc1155)) used in your smart contract and provide extra functionality to allow you to build your application with ease. For example, if your contract uses the [ERC-721](/solidity/extensions/erc721) extension, our SDKs will provide you with a set of functions to easily interact with your contract's NFTs.
Additionally, our SDKs enable wallet connectivity and provide specialized sets of functionality for remote procedure call (RPC) URLs, and an IPFS Gateway.
### 3. Deploy Smart Contracts

- [**Deploy CLI**](/cli): deploy your smart contract without using a private key.
- [**Deploy using the SDK**](/sdk): deploy your smart contract using the [**TypeScript SDK**](/typescript/sdk.contractdeployer), [**GO SDK**](/go/contract_deployer), [**Python SDK**](/python/python.contractdeployer) or [**Unity SDK**](/unity/contractdeployer) from an application e.g. a script.
- [**Import Contract**](/import-contract): import an already deployed contract.
- [**Deploy from Explore**](https://thirdweb.com/explore): explore pre-built contracts and deploy them to your blockchain of choice.

### 4. Publish Smart Contracts

Make your smart contract available for others to deploy by publishing it using the CLI.
Either use the "direct deploy" or "factory" methods to publish your contract to allow users to deploy either a full smart contract or a proxy respectively.
For more information, see the [publish documentation](/publish).

### 5. Interact with Smart Contracts

- [**Dashboard**](/dashboard): Upon deploying or importing your contract, using the [Dashboard](/dashboard), you can easily manage your smart contract and track its performance through **Data Feeds**.
- [**Contract SDK**](/sdk): [software development kits] (SDKs) that allow seamless integration with your smart contract when developing applications or games using popular programming languages include:
- [React](/react)
- [React Native](/react-native)
- [TypeScript](/typescript)
- [Python](/python)
- [Go](/go)
- [Unity](/unity).

Our SDKs and Dashboard detect the [extensions](/solidity/extensions) or common Ethereum patterns and standards (e.g., [ERC-20](/solidity/extensions/erc20), [ERC-721](/solidity/extensions/erc721), [ERC-1155](/solidity/extensions/erc1155)) used in your smart contract and provide extra functionality to allow you to build your application with ease. For example, if your contract uses the [ERC-721](/solidity/extensions/erc721) extension, our SDKs will provide you with a set of functions to easily interact with your contract's NFTs.

These features optimize performance and enhance developer experience when building decentralized applications.

### Infrastructure
## Infrastructure

Connect your application to decentralized networks.

### Storage

- [**Storage SDK**](/storage): Store files from IPFS using the Storage SDK.
- [**Gateway**](/storage#gateway): Retrieve files from IPFS using the Gateway.

### RPC Edge

thirdweb offers a comprehensive suite of tools and technologies to facilitate the development of user-friendly and accessible decentralized applications. Our infrastructure includes options for fiat on-ramps, [wallet integrations](/wallet), and gasless relayers, providing seamless end-user experiences.
thirdweb's RPC Edge is a high-performance, scalable, and reliable RPC service that provides a connection to any EVM-compatible blockchain.

In addition, we provide built-in [storage solutions](/storage) and RPCs to optimize application performance and decentralization. Our indexer and Data Feeds enable easy integration of your contract's data into your application.
### Account Abstraction Infrastructure

Our [Auth SDK](/auth) is designed to support decentralized login and seamless integration with client and server frameworks. This feature allows developers to build secure and user-friendly decentralized applications that can easily be deployed and integrated with other applications.
- [**Bundler**](/smart-wallet/infrastructure): bundle operations and execute transactions with [ERC-4337 smart accounts](/smart-wallet).
- [**Paymaster**](/smart-wallet/infrastructure): Paymaster is a service that enables sponsored transactions with [ERC-4337 smart accounts](/smart-wallet).
1 change: 1 addition & 0 deletions docs/onboarding/23 Smart Wallet/1 How it Works.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ It has two methods that are used as entry points to execute bundles of UserOpera
### Bundler (relayer)

A bundler is a smart contract that bundles multiple 'UserOperations' into a single bundle, a `handleOps` call, to the `EntryPoint` contract.
It allows your to send transactions with smart wallet accounts.

### Paymaster

Expand Down

0 comments on commit 1b4a56e

Please sign in to comment.