Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Overhaul hardhat quickstart > Remix #1968

Open
wants to merge 55 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
e6631c6
feat: update frontmatter's user story
anegg0 Jan 7, 2025
c086aac
fix: remove hardhat-related content
anegg0 Jan 7, 2025
6e9c234
Merge branch 'master' into overhaul-hardhat-quickstart
anegg0 Jan 7, 2025
1c101e1
feat: prettify prerequisites
anegg0 Jan 7, 2025
970aa34
Fix: replace HardHat explanations with Remix #1
anegg0 Jan 8, 2025
fd2e148
feat: add inline comment to solidity contract
anegg0 Jan 8, 2025
1643680
feat: add explanation about contracts and Remix
anegg0 Jan 8, 2025
95b736c
feat: add gif demo > create blank Remix workspace
anegg0 Jan 8, 2025
59e7676
feat: add remix content + reformat
anegg0 Jan 9, 2025
6b77098
feat: improve svg rendering in Docusaurus
anegg0 Jan 10, 2025
be36442
feat: add remix's add contract and compile animations
anegg0 Jan 10, 2025
4a46e8f
feat: add svg rendering fix
anegg0 Jan 10, 2025
151dd64
feat: update unclear parts + spin content for Remix
anegg0 Jan 11, 2025
034fb82
fix: add code fence to coin symbol
anegg0 Jan 11, 2025
ff76acd
feat: add better "details" component: "CustomDetails"
anegg0 Jan 12, 2025
07986f7
feat: convert former <Details> with new <CustomDetails>
anegg0 Jan 12, 2025
bbf5b01
fix: reformat
anegg0 Jan 12, 2025
2504b09
feat: convert table to `.md`
anegg0 Jan 12, 2025
82528ac
fix: reformat
anegg0 Jan 12, 2025
abadefa
fix: correct padding <CustomDetails>
anegg0 Jan 12, 2025
dc8b630
feat: add two gif demos + resource table
anegg0 Jan 13, 2025
9f36c9b
Merge branch 'master' into overhaul-hardhat-quickstart
anegg0 Jan 13, 2025
5fef60d
fix: reformat
anegg0 Jan 13, 2025
3e89dd1
fix: correct gif name
anegg0 Jan 13, 2025
884f92d
feat: add deploy to anvil section
anegg0 Jan 13, 2025
8f49661
fix: reformat
anegg0 Jan 13, 2025
a3a0d03
fix: replace HardHat local node with Anvil's + reformat
anegg0 Jan 13, 2025
3ba52a8
Merge branch 'master' into overhaul-hardhat-quickstart
anegg0 Jan 13, 2025
6bc2663
fix: correct images allocations
anegg0 Jan 13, 2025
d725c60
fix: reformat
anegg0 Jan 13, 2025
1b2c41b
feat: convert former screenshots/screencasts
anegg0 Jan 14, 2025
d92f475
feat: add local chain section + reformat
anegg0 Jan 14, 2025
561ca1b
fix: configure `<CustomDetails>` to render img original size
anegg0 Jan 14, 2025
faefc3b
feat: embed code blocks in details modules
anegg0 Jan 14, 2025
79082eb
fix: remove duplicate screenshots + remove $ASPL
anegg0 Jan 14, 2025
12b9eaa
fix: delete local-chain screeshot
anegg0 Jan 14, 2025
3ae792d
feat: clarify/complete missing elements + remove code comments
anegg0 Jan 14, 2025
f2dc7a1
feat: add "deploy to sepolia screencast and fix structure"
anegg0 Jan 14, 2025
7d6dc8c
fix: reformat
anegg0 Jan 14, 2025
5525b13
feat: rename article
anegg0 Jan 14, 2025
264af9d
fix: rename links to renamed article
anegg0 Jan 14, 2025
494d4e0
feat: add deploy to local chain screencast
anegg0 Jan 14, 2025
6060945
Fix: reformat
anegg0 Jan 14, 2025
a6498fc
This is a squash of 22 commits.
anegg0 Jan 13, 2025
157165e
fix: reformat
anegg0 Jan 15, 2025
459e914
fix: reformat + remove duplicate anvil install instructions
anegg0 Jan 15, 2025
d72c53f
fix: simplification > high-level explanation
anegg0 Jan 16, 2025
863d55a
fix: fix footnote section
anegg0 Jan 16, 2025
b1c8276
feat: reorganize final part
anegg0 Jan 16, 2025
13c9d48
Merge branch 'master' into overhaul-hardhat-quickstart
anegg0 Jan 16, 2025
31e4c6b
minor grammatical changes
pete-vielhaber Jan 16, 2025
4e5b244
Merge branch 'overhaul-hardhat-quickstart' of github.com:OffchainLabs…
pete-vielhaber Jan 16, 2025
ae04a2d
Merge branch 'master' into overhaul-hardhat-quickstart
anegg0 Jan 17, 2025
0f644fc
fixing hanging `CustomDetails`
pete-vielhaber Jan 17, 2025
a8814c1
fix format and yarn dependency
anegg0 Jan 17, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

This file was deleted.

Large diffs are not rendered by default.

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ content_type: how-to

In this how-to you’ll learn how to bridge your own token between Ethereum (Layer 1 or L1) and Arbitrum (Layer 2 or L2), using [Arbitrum’s standard ERC20 gateway](/build-decentralized-apps/token-bridging/03-token-bridge-erc20.mdx#default-standard-bridging). For alternative ways of bridging tokens, don’t forget to check out this [overview](/build-decentralized-apps/token-bridging/bridge-tokens-programmatically/01-get-started.mdx).

Familiarity with [Arbitrum’s token bridge system](/build-decentralized-apps/token-bridging/01-overview.mdx), smart contracts, and blockchain development is expected. If you’re new to blockchain development, consider reviewing our [Quickstart: Build a dApp with Arbitrum (Solidity, Hardhat)](/build-decentralized-apps/01-quickstart-solidity-hardhat.mdx) before proceeding. We will use [Arbitrum’s SDK](https://github.com/OffchainLabs/arbitrum-sdk) throughout this how-to, although no prior knowledge is required.
Familiarity with [Arbitrum’s token bridge system](/build-decentralized-apps/token-bridging/01-overview.mdx), smart contracts, and blockchain development is expected. If you’re new to blockchain development, consider reviewing our [Quickstart: Build a dApp with Arbitrum (Solidity, Hardhat)](/build-decentralized-apps/01-quickstart-solidity-remix.mdx) before proceeding. We will use [Arbitrum’s SDK](https://github.com/OffchainLabs/arbitrum-sdk) throughout this how-to, although no prior knowledge is required.

We will go through all steps involved in the process. However, if you want to jump straight to the code, we have created [this script in our tutorials repository](https://github.com/OffchainLabs/arbitrum-tutorials/tree/master/packages/token-deposit) that encapsulates the entire process.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ content_type: how-to

In this how-to you’ll learn how to bridge your own token between Ethereum (Layer 1 or L1) and Arbitrum (Layer 2 or L2), using [Arbitrum’s generic-custom gateway](/build-decentralized-apps/token-bridging/03-token-bridge-erc20.mdx#the-arbitrum-generic-custom-gateway). For alternative ways of bridging tokens, don’t forget to check out this [overview](/build-decentralized-apps/token-bridging/bridge-tokens-programmatically/01-get-started.mdx).

Familiarity with [Arbitrum’s token bridge system](/build-decentralized-apps/token-bridging/01-overview.mdx), smart contracts, and blockchain development is expected. If you’re new to blockchain development, consider reviewing our [Quickstart: Build a dApp with Arbitrum (Solidity, Hardhat)](/build-decentralized-apps/01-quickstart-solidity-hardhat.mdx) before proceeding. We will use [Arbitrum’s SDK](https://github.com/OffchainLabs/arbitrum-sdk) throughout this how-to, although no prior knowledge is required.
Familiarity with [Arbitrum’s token bridge system](/build-decentralized-apps/token-bridging/01-overview.mdx), smart contracts, and blockchain development is expected. If you’re new to blockchain development, consider reviewing our [Quickstart: Build a dApp with Arbitrum (Solidity, Hardhat)](/build-decentralized-apps/01-quickstart-solidity-remix.mdx) before proceeding. We will use [Arbitrum’s SDK](https://github.com/OffchainLabs/arbitrum-sdk) throughout this how-to, although no prior knowledge is required.

We will go through all steps involved in the process. However, if you want to jump straight to the code, we have created [this script in our tutorials repository](https://github.com/OffchainLabs/arbitrum-tutorials/tree/master/packages/custom-token-bridging) that encapsulates the entire process.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Before starting to implement and deploy a custom gateway, it is strongly encoura

In this how-to you’ll learn how to bridge your own token between Ethereum (Layer 1 or L1) and Arbitrum (Layer 2 or L2), using a custom gateway. For alternative ways of bridging tokens, don’t forget to check out this [overview](/build-decentralized-apps/token-bridging/bridge-tokens-programmatically/01-get-started.mdx).

Familiarity with [Arbitrum’s token bridge system](/build-decentralized-apps/token-bridging/01-overview.mdx), smart contracts, and blockchain development is expected. If you’re new to blockchain development, consider reviewing our [Quickstart: Build a dApp with Arbitrum (Solidity, Hardhat)](/build-decentralized-apps/01-quickstart-solidity-hardhat.mdx) before proceeding. We will use [Arbitrum’s SDK](https://github.com/OffchainLabs/arbitrum-sdk) throughout this how-to, although no prior knowledge is required.
Familiarity with [Arbitrum’s token bridge system](/build-decentralized-apps/token-bridging/01-overview.mdx), smart contracts, and blockchain development is expected. If you’re new to blockchain development, consider reviewing our [Quickstart: Build a dApp with Arbitrum (Solidity, Hardhat)](/build-decentralized-apps/01-quickstart-solidity-remix.mdx) before proceeding. We will use [Arbitrum’s SDK](https://github.com/OffchainLabs/arbitrum-sdk) throughout this how-to, although no prior knowledge is required.

We will go through all steps involved in the process. However, if you want to jump straight to the code, we have created [this script in our tutorials repository](https://github.com/OffchainLabs/arbitrum-tutorials/tree/master/packages/custom-gateway-bridging) that encapsulates the entire process.

Expand Down
4 changes: 2 additions & 2 deletions arbitrum-docs/for-devs/oracles/api3/api3.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ contract ARBPriceConsumer {
}
```

You can adapt this contract to your needs. Just remember to use the address of the asset you want to request the price for in the appropriate network and to **deploy your contract to the same network**. Remember we have a [Quickstart](/build-decentralized-apps/01-quickstart-solidity-hardhat.mdx) available that goes through the process of compiling and deploying a contract.
You can adapt this contract to your needs. Just remember to use the address of the asset you want to request the price for in the appropriate network and to **deploy your contract to the same network**. Remember we have a [Quickstart](/build-decentralized-apps/01-quickstart-solidity-remix.mdx) available that goes through the process of compiling and deploying a contract.

### Querying a random number through API3

Expand Down Expand Up @@ -155,7 +155,7 @@ contract QrngRequester is RrpRequesterV0 {
}
```

You can adapt this contract to your needs. Just remember to set the `sponsorWallet` address before making the request to use the appropriate network's addresses, and to **deploy your contract to the same network**. Remember, we have a [Quickstart](/build-decentralized-apps/01-quickstart-solidity-hardhat.mdx) available that goes through the process of compiling and deploying a contract.
You can adapt this contract to your needs. Just remember to set the `sponsorWallet` address before making the request to use the appropriate network's addresses, and to **deploy your contract to the same network**. Remember, we have a [Quickstart](/build-decentralized-apps/01-quickstart-solidity-remix.mdx) available that goes through the process of compiling and deploying a contract.

### More examples

Expand Down
2 changes: 1 addition & 1 deletion arbitrum-docs/for-devs/oracles/chainlink/chainlink.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ contract ARBPriceConsumer {
}
```

You can adapt this contract to your needs. Just remember to use the address of the asset you want to request the price for in the appropriate network, and to **deploy your contract to the same network**. Remember we have a [Quickstart](/build-decentralized-apps/01-quickstart-solidity-hardhat.mdx) available that goes through the process of compiling and deploying a contract.
You can adapt this contract to your needs. Just remember to use the address of the asset you want to request the price for in the appropriate network, and to **deploy your contract to the same network**. Remember we have a [Quickstart](/build-decentralized-apps/01-quickstart-solidity-remix.mdx) available that goes through the process of compiling and deploying a contract.

### More examples

Expand Down
2 changes: 1 addition & 1 deletion arbitrum-docs/for-devs/oracles/trellor/trellor.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ contract ARBPriceConsumer is UsingTellor {
}
```

You can adapt this contract to your needs. Just remember to use the ticker of the assets you want to request the price for and to **deploy your contract to the appropriate network, with the address of the Oracle contract in that network**. Remember, we have a [Quickstart](/build-decentralized-apps/01-quickstart-solidity-hardhat.mdx) available that goes through the process of compiling and deploying a contract.
You can adapt this contract to your needs. Just remember to use the ticker of the assets you want to request the price for and to **deploy your contract to the appropriate network, with the address of the Oracle contract in that network**. Remember, we have a [Quickstart](/build-decentralized-apps/01-quickstart-solidity-remix.mdx) available that goes through the process of compiling and deploying a contract.

### See also

Expand Down
2 changes: 1 addition & 1 deletion arbitrum-docs/partials/_contribute-docs-partial.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ Every document should be a specific _type_ of document. Each type of document ha
| Document type | Purpose | Example(s) to refer to |
| ------------------- | ---------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Gentle introduction | Onboard a specific reader audience with tailored questions and answers | [A gentle introduction to Orbit](/launch-orbit-chain/orbit-gentle-introduction.md) |
| Quickstart | Onboard a specific reader audience with step-by-step "learn by doing" instructions | [Quickstart: Build dApps](/build-decentralized-apps/01-quickstart-solidity-hardhat.mdx) |
| Quickstart | Onboard a specific reader audience with step-by-step "learn by doing" instructions | [Quickstart: Build dApps](/build-decentralized-apps/01-quickstart-solidity-remix.mdx) |
| How-to | Provide task-oriented procedural guidance | [How to run a full chain simulation](/run-arbitrum-node/04-run-local-full-chain-simulation.mdx) |
| Concept | Explain what things are and how they work | [Token bridging](/build-decentralized-apps/token-bridging/03-token-bridge-erc20.mdx) <br/>[Nodes and networks](https://docs.prylabs.network/docs/concepts/nodes-networks) |
| FAQ | Address frequently asked questions | [FAQ: Run a node](../node-running/faq.mdx) |
Expand Down
10 changes: 5 additions & 5 deletions arbitrum-docs/welcome/get-started.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -40,11 +40,11 @@ The Arbitrum suite includes the protocols, chains, services, and SDKs that power

**Developers** build Arbitrum dApps by deploying smart contracts to an Arbitrum chain.

| Resource | Description |
| ------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
| [A gentle introduction to Arbitrum](/welcome/arbitrum-gentle-introduction) | A technical introduction to Arbitrum's suite of scaling solutions. |
| [Quickstart (Solidity)](/build-decentralized-apps/01-quickstart-solidity-hardhat.mdx) | Targeted at web2 developers who want to deploy their first Solidity smart contract to Arbitrum. |
| [Quickstart (Rust)](/stylus/quickstart) | Targeted at web3 developers who want to deploy their first Rust smart contract to Arbitrum using Stylus. |
| Resource | Description |
| ----------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
| [A gentle introduction to Arbitrum](/welcome/arbitrum-gentle-introduction) | A technical introduction to Arbitrum's suite of scaling solutions. |
| [Quickstart (Solidity)](/build-decentralized-apps/01-quickstart-solidity-remix.mdx) | Targeted at web2 developers who want to deploy their first Solidity smart contract to Arbitrum. |
| [Quickstart (Rust)](/stylus/quickstart) | Targeted at web3 developers who want to deploy their first Rust smart contract to Arbitrum using Stylus. |

## Arbitrum for node runners

Expand Down
12 changes: 6 additions & 6 deletions vercel.json
Original file line number Diff line number Diff line change
Expand Up @@ -411,8 +411,8 @@
"permanent": false
},
{
"source": "/(for-devs/quickstart-solidity-hardhat/?)",
"destination": "/build-decentralized-apps/quickstart-solidity-hardhat",
"source": "/(for-devs/quickstart-solidity-remix/?)",
"destination": "/build-decentralized-apps/quickstart-solidity-remix",
"permanent": false
},
{
Expand Down Expand Up @@ -607,7 +607,7 @@
},
{
"source": "/docs/tutorials",
"destination": "/for-devs/quickstart-solidity-hardhat",
"destination": "/for-devs/quickstart-solidity-remix",
"permanent": false
},
{
Expand All @@ -617,17 +617,17 @@
},
{
"source": "/docs/frontend_integration",
"destination": "/for-devs/quickstart-solidity-hardhat",
"destination": "/for-devs/quickstart-solidity-remix",
"permanent": false
},
{
"source": "/docs/contract_deployment",
"destination": "/for-devs/quickstart-solidity-hardhat",
"destination": "/for-devs/quickstart-solidity-remix",
"permanent": false
},
{
"source": "/getting-started-devs",
"destination": "/for-devs/quickstart-solidity-hardhat",
"destination": "/for-devs/quickstart-solidity-remix",
"permanent": false
},
{
Expand Down
3 changes: 3 additions & 0 deletions website/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,9 @@
"typedoc-plugin-markdown": "4.0.1",
"typescript": "^5.1"
},
"resolutions": {
"image-size": "~1.0.2"
},
"browserslist": {
"production": [
">0.5%",
Expand Down
2 changes: 1 addition & 1 deletion website/sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ const sidebars = {
items: [
{
type: 'doc',
id: 'build-decentralized-apps/quickstart-solidity-hardhat',
id: 'build-decentralized-apps/quickstart-solidity-remix',
label: 'Quickstart (Solidity)',
},
{
Expand Down
22 changes: 22 additions & 0 deletions website/src/components/CustomDetails/index.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
import React from 'react';
import Details from '@theme/Details';
import styles from './styles.module.css';

interface Props {
children: React.ReactNode;
summary?: string | React.ReactElement;
className?: string;
}

export default function CustomDetails({
children,
summary,
className,
...props
}: Props): JSX.Element {
return (
<Details {...props} summary={summary} className={`${styles.details} ${className || ''}`}>
{children}
</Details>
);
}
65 changes: 65 additions & 0 deletions website/src/components/CustomDetails/styles.module.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
.details {
--docusaurus-details-summary-arrow-size: 0.5rem;
--docusaurus-details-transition: transform 300ms ease;
--docusaurus-details-decoration-color: var(--ifm-color-primary);
margin: 1rem 0;
padding: 0.1rem 1rem;
--ifm-alert-background-color: transparent;
}

.details[open] {
padding: 1rem;
}

.details > summary {
position: relative;
cursor: pointer;
list-style: none;
padding: 0.25rem 0.25rem 0.25rem 1.5rem;
margin: 0;
}

.details > summary::-webkit-details-marker {
display: none;
}

.details > summary::before {
position: absolute;
top: 0.6rem;
left: 0.5rem;
content: '';
border-width: var(--docusaurus-details-summary-arrow-size);
border-style: solid;
border-color: transparent transparent transparent var(--docusaurus-details-decoration-color);
transform: rotate(0deg);
transition: var(--docusaurus-details-transition);
transform-origin: calc(var(--docusaurus-details-summary-arrow-size) / 2) 50%;
}

.details[open]:not(.isBrowser) > summary::before,
.details[data-collapsed='false'].isBrowser > summary::before {
transform: rotate(90deg);
}

.details > div > .collapsibleContent {
margin-top: 0.2rem;
border-top: 1px solid var(--docusaurus-details-decoration-color);
padding: 0.1rem !important;
background: none !important;
background-color: unset !important;
--ifm-alert-background-color: unset !important;
}

.details > div > .collapsibleContent p:last-child {
margin-bottom: 0;
}

.details > summary > p:last-child {
margin: 0;
}

.details > div > .collapsibleContent img {
max-width: 600px;
width: 100%;
height: auto;
}
2 changes: 1 addition & 1 deletion website/src/components/HomepageFeatures/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ const FeatureList: FeatureItem[] = [
{
title: 'Quickstart: Build a dApp (Solidity)',
Svg: require('@site/static/img/cupcake_icon.svg').default,
href: '/build-decentralized-apps/quickstart-solidity-hardhat',
href: '/build-decentralized-apps/quickstart-solidity-remix',
description:
'Deploy a cupcake vending machine contract locally, then to Arbitrum Sepolia, then to Arbitrum Mainnet.',
},
Expand Down
2 changes: 0 additions & 2 deletions website/src/css/partials/_content-body.scss
Original file line number Diff line number Diff line change
Expand Up @@ -102,11 +102,9 @@ article {
}

.footnotes {
border-top: 1px solid #ddd;
margin-top: 50px;

&:before {
content: 'Footnotes:';
font-weight: 600;
margin-top: 30px;
display: inline-block;
Expand Down
2 changes: 1 addition & 1 deletion website/src/css/partials/_page-specific-styles.scss
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
@use './_mixins.scss' as *;

[class*='quickstart-solidity-hardhat'] {
[class*='quickstart-solidity-remix'] {
.vending-machine {
border-radius: 5px;
display: flex;
Expand Down
Loading
Loading