Skip to content

Commit

Permalink
Rename Base Camp to Base Learn (#649)
Browse files Browse the repository at this point in the history
* Rename Base Camp to Base Learn

* Rename Base Camp to Base Learn

* Update learn link

* change wallet type property from camel to snake case (#643)

* Update api key requirement, minor style updates (#642)

* Fix type and clarify inheritance ex (#655)

* Document Reth snapshot URLs (#651)

* feat(ecosystem): New additions to Ecosystem page (#647)

* feat(ecosystem): New additions to Ecosystem page

* chore(Ecosystem): Add image for Dynamic

* Update preparing-for-fault-proofs-on-base-sepolia.md (#633)

Update preparing-for-fault-proofs-on-base-sepolia

* Fix conflict

* fix conflict

---------

Co-authored-by: Brendan from DeFi <[email protected]>
Co-authored-by: Danyal Prout <[email protected]>
Co-authored-by: wbnns <[email protected]>
Co-authored-by: Olexandr Radovenchyk <[email protected]>
  • Loading branch information
5 people committed Jul 24, 2024
1 parent 29b80cb commit d2c0b51
Show file tree
Hide file tree
Showing 293 changed files with 305 additions and 265 deletions.
13 changes: 0 additions & 13 deletions apps/base-docs/base-camp/docs/welcome.md

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ keywords:
hide_table_of_contents: false
---

As the popularity and possibilities of building onchain have increased, so has the number, quality, and ease of setup for a variety of smart contract development environments. Most of the smart contract development content in Base Camp is done in [Remix], an online IDE that allows you to dive right into learning without worrying about setup.
As the popularity and possibilities of building onchain have increased, so has the number, quality, and ease of setup for a variety of smart contract development environments. Most of the smart contract development content in Base Learn is done in [Remix], an online IDE that allows you to dive right into learning without worrying about setup.

However, the setup of professional tools for local development is far less burdensome than it used to be. [Foundry] and [Hardhat] are two popular choices, both with excellent communities.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
---
title: 'Exercise Contracts'
description: A list of verified unit test contracts for Base Camp exercises.
keywords: [Solidity, Base Camp, NFT]
description: A list of verified unit test contracts for Base Learn exercises.
keywords: [Solidity, Base Learn, NFT]
hide_table_of_contents: false
---

Many of the sections in Base Camp contain an exercise to test your knowledge on the material you have just completed. We tell you **what** to do, but not **how** to do it. You have to apply your knowledge and demonstrate the new abilities you have earned.
Many of the sections in Base Learn contain an exercise to test your knowledge on the material you have just completed. We tell you **what** to do, but not **how** to do it. You have to apply your knowledge and demonstrate the new abilities you have earned.

Upon success, you'll be granted a non-transferable, or soulbound, NFT as a memento of your learning. You can track your progress on the [progress page].

Expand All @@ -27,20 +27,20 @@ Below is a list of the exercises, with links to view their code. The unit tests
| [ERC-20 Tokens] | [0x4F333c49B820013e5E6Fe86634DC4Da88039CE50] |
| [ERC-721 Tokens] | [0x15534ED3d1dBA55148695B2Ba4164F147E47a10c] |

[progress page]: https://docs.base.org/base-camp/progress
[Deploying to a Testnet]: https://docs.base.org/base-camp/docs/deployment-to-testnet/deployment-to-testnet-exercise
[Control Structures]: https://docs.base.org/base-camp/docs/control-structures/control-structures-exercise
[Storage]: https://docs.base.org/base-camp/docs/storage/storage-exercise
[Arrays]: https://docs.base.org/base-camp/docs/arrays/arrays-exercise
[Mappings]: https://docs.base.org/base-camp/docs/mappings/mappings-exercise
[Structs]: https://docs.base.org/base-camp/docs/structs/structs-exercise
[Inheritance]: https://docs.base.org/base-camp/docs/inheritance/inheritance-exercise
[Imports]: https://docs.base.org/base-camp/docs/imports/imports-exercise
[Errors]: https://docs.base.org/base-camp/docs/error-triage/error-triage-exercise
[The "new" Keyword]: https://docs.base.org/base-camp/docs/new-keyword/new-keyword-exercise
[Minimal Tokens]: https://docs.base.org/base-camp/docs/minimal-tokens/minimal-tokens-exercise
[ERC-20 Tokens]: https://docs.base.org/base-camp/docs/erc-20-token/erc-20-exercise
[ERC-721 Tokens]: https://docs.base.org/base-camp/docs/erc-721-token/erc-721-exercise
[progress page]: https://docs.base.org/base-learn/progress
[Deploying to a Testnet]: https://docs.base.org/base-learn/docs/deployment-to-testnet/deployment-to-testnet-exercise
[Control Structures]: https://docs.base.org/base-learn/docs/control-structures/control-structures-exercise
[Storage]: https://docs.base.org/base-learn/docs/storage/storage-exercise
[Arrays]: https://docs.base.org/base-learn/docs/arrays/arrays-exercise
[Mappings]: https://docs.base.org/base-learn/docs/mappings/mappings-exercise
[Structs]: https://docs.base.org/base-learn/docs/structs/structs-exercise
[Inheritance]: https://docs.base.org/base-learn/docs/inheritance/inheritance-exercise
[Imports]: https://docs.base.org/base-learn/docs/imports/imports-exercise
[Errors]: https://docs.base.org/base-learn/docs/error-triage/error-triage-exercise
[The "new" Keyword]: https://docs.base.org/base-learn/docs/new-keyword/new-keyword-exercise
[Minimal Tokens]: https://docs.base.org/base-learn/docs/minimal-tokens/minimal-tokens-exercise
[ERC-20 Tokens]: https://docs.base.org/base-learn/docs/erc-20-token/erc-20-exercise
[ERC-721 Tokens]: https://docs.base.org/base-learn/docs/erc-721-token/erc-721-exercise
[0x075eB9Dc52177Aa3492E1D26f0fDE3d729625d2F]: https://sepolia.basescan.org/address/0x075eb9dc52177aa3492e1d26f0fde3d729625d2f#code#F16#L1
[0xF4D953A3976F392aA5509612DEfF395983f22a84]: https://sepolia.basescan.org/address/0xf4d953a3976f392aa5509612deff395983f22a84#code#F17#L1
[0x567452C6638c0D2D9778C20a3D59749FDCaa7aB3]: https://sepolia.basescan.org/address/0x567452c6638c0d2d9778c20a3d59749fdcaa7ab3#code#F17#L1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,12 +63,12 @@ By the end of these guides, you should be able to:

### 1. Basic understanding of writing smart contracts

These guides assume that you're reasonably comfortable writing basic smart contracts. If you're just getting started, jump over to our [Basecamp] guides and start learning!
These guides assume that you're reasonably comfortable writing basic smart contracts. If you're just getting started, jump over to our [Base Learn] guides and start learning!

### 2. Familiarity with Hardhat

We also assume that you've got Hardhat up and running, and can write unit tests for your smart contracts. If you're not there yet, but already know Solidity, you can [setup Hardhat here].

[setup Hardhat here]: https://docs.base.org/base-camp/docs/hardhat-setup-overview/hardhat-setup-overview-sbs
[setup Hardhat here]: https://docs.base.org/base-learn/docs/hardhat-setup-overview/hardhat-setup-overview-sbs
[Hardhat plugins]: https://hardhat.org/hardhat-runner/plugins
[Basecamp]: https://base.org/camp
[Base Learn]: https://base.org/learn
Original file line number Diff line number Diff line change
Expand Up @@ -453,7 +453,7 @@ contract FEWeightedVoting is ERC20 {
[Wallet Connectors]: ../frontend-setup/wallet-connectors/
[`useAccount`]: https://wagmi.sh/react/hooks/useAccount
[hydration error]: https://nextjs.org/docs/messages/react-hydration-error
[ERC 20 Tokens Exercise]: https://docs.base.org/base-camp/docs/erc-20-token/erc-20-exercise
[ERC 20 Tokens Exercise]: https://docs.base.org/base-learn/docs/erc-20-token/erc-20-exercise
[Sepolia BaseScan]: https://sepolia.basescan.org/
[`useAccount` hook]: ./useAccount
[Hardhat]: https://hardhat.org/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,6 @@ import CafeUnitTest from '../../../src/components/CafeUnitTest/index.jsx'
<summary>
⚠️ Spoiler Alert: Open only if tests fail</summary>

Ensure your variable sizes align with their intended use, and consider the nuances of packing in Solidity. Resources: [Solidity - Layout in Storage](https://docs.soliditylang.org/en/v0.8.17/internals/layout_in_storage.html#layout-of-state-variables-in-storage), [Variables in Struct](https://docs.base.org/base-camp/docs/structs/structs-sbs#setting-up-the-struct)
Ensure your variable sizes align with their intended use, and consider the nuances of packing in Solidity. Resources: [Solidity - Layout in Storage](https://docs.soliditylang.org/en/v0.8.17/internals/layout_in_storage.html#layout-of-state-variables-in-storage), [Variables in Struct](https://docs.base.org/base-learn/docs/structs/structs-sbs#setting-up-the-struct)

</details>
13 changes: 13 additions & 0 deletions apps/base-docs/base-learn/docs/welcome.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
title: Welcome to Base Learn
description: Base Learn is a comprehensive, free guide to learning smart contract development.
hide_table_of_contents: false
---

![Welcome](../assets/images/welcome/Base_Camp_Hero_2.png)

Welcome to Base Learn, your guide to learning smart contract development. Base Learn's curriculum has been expertly crafted to equip you with the skills and knowledge needed to build and deploy smart contracts on Base, or any EVM-compatible chain, including Ethereum, Optimism, and many more. Plus, you'll be eligible to earn NFTs as you complete each module, showcasing your mastery of the material.

Whether you're a curious novice or a seasoned pro looking to stay ahead of the game, our dynamic lessons cater to all levels of experience. You can start with the basics and work your way up, or dive straight into the more advanced concepts and push your limits to new heights.

Begin your journey today!
File renamed without changes.
18 changes: 9 additions & 9 deletions apps/base-docs/docusaurus.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -122,10 +122,10 @@ const config = {
[
'@docusaurus/plugin-content-docs',
{
id: 'base-camp',
path: 'base-camp',
routeBasePath: 'base-camp',
sidebarPath: require.resolve('./base-camp/sidebars.js'),
id: 'base-learn',
path: 'base-learn',
routeBasePath: 'base-learn',
sidebarPath: require.resolve('./base-learn/sidebars.js'),
},
],
[
Expand Down Expand Up @@ -195,20 +195,20 @@ const config = {
eventContext: 'navbar',
},
{
to: '/base-camp/docs/welcome',
to: '/base-learn/docs/welcome',
navposition: 'bottomLeft',
label: 'Camp',
label: 'Learn',
items: [
{
label: 'Learn',
to: '/base-camp/docs/welcome',
label: 'Learn to Build Onchain',
to: '/base-learn/docs/welcome',
type: 'custom-dropdownLink',
eventLabel: 'camp_learn',
eventContext: 'navbar',
},
{
label: 'Track your progress',
to: '/base-camp/progress',
to: '/base-learn/progress',
type: 'custom-dropdownLink',
eventLabel: 'camp_trackprogress',
eventContext: 'navbar',
Expand Down
12 changes: 10 additions & 2 deletions apps/base-docs/server.js
Original file line number Diff line number Diff line change
Expand Up @@ -50,11 +50,19 @@ app.post('/api/rateMessage', (req, res) => {
});

app.get('/base-camp', (req, res) => {
res.redirect('/base-camp/docs/welcome');
res.redirect('/base-learn/docs/welcome');
});

app.get('/base-learn', (req, res) => {
res.redirect('/base-learn/docs/welcome');
});

app.get('/basecamp', (req, res) => {
res.redirect('/base-camp/docs/welcome');
res.redirect('/base-learn/docs/welcome');
});

app.get('/baselearn', (req, res) => {
res.redirect('/base-learn/docs/welcome');
});

app.get('/using-base', (req, res) => {
Expand Down
4 changes: 2 additions & 2 deletions apps/base-docs/src/components/CafeSocialShare/index.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ import { Button } from '../Button/Button';
import Icon from '../Icon';
import styles from './styles.module.css';

const url = 'https://base.org/camp';
const url = 'https://base.org/learn';

export function CafeSocialShare({ name }) {
const shareText = encodeURIComponent(
`I earned my ${name} badge on Base Camp! Join Onchain Summer and learn to build the future at ${url}.`,
`I earned my ${name} badge on Base Learn! Join Onchain Summer and learn to build the future at ${url}.`,
);

return (
Expand Down
6 changes: 3 additions & 3 deletions apps/base-docs/src/components/StudentProgress/index.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -76,15 +76,15 @@ export default function StudentProgress() {
<div style={{ padding: '5px' }}>
<p style={{ paddingBottom: '25px' }}>
Address <span style={{ color: '#688CEC' }}>{address}</span> has earned {earnedNFTCount}{' '}
out of {totalNFTCount} Base Camp exercise NFTs on {chain.name}.
out of {totalNFTCount} Base Learn exercise NFTs on {chain.name}.
</p>
<div style={{ display: 'flex', flexWrap: 'wrap', gap: '0.75rem' }}>{renderNFTs()}</div>
</div>
);
}
return (
<p style={{ padding: '5px', textAlign: 'center' }}>
Connect your wallet to view your Base Camp progress.
Connect your wallet to view your Base Learn progress.
</p>
);
};
Expand All @@ -101,7 +101,7 @@ export default function StudentProgress() {
paddingRight: '0.5rem',
}}
>
<h1 style={{ paddingBottom: '40px' }}>Base Camp Progress</h1>
<h1 style={{ paddingBottom: '40px' }}>Base Learn Progress</h1>
</div>
</div>

Expand Down
50 changes: 50 additions & 0 deletions apps/base-docs/src/css/base-learn-sidebar-icons.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
/* Base Learn Sidebar Icons */
/* Override non-category links to be horizontally compact */
li > a.menu__link {
justify-content: flex-start;
}

.sidebar-coding a::before {
padding-right: 0.5rem;
content: url(../../base-learn/assets/images/icons/coding.svg);
}

[data-theme='dark'] .sidebar-coding a::before {
content: url(../../base-learn/assets/images/icons/coding-white.svg);
}

.sidebar-exercise a::before {
padding-right: 0.5rem;
content: url(../../base-learn/assets/images/icons/quizzes.svg);
}

[data-theme='dark'] .sidebar-exercise a::before {
content: url(../../base-learn/assets/images/icons/quizzes-white.svg);
}

.sidebar-reading a::before {
padding-right: 0.5rem;
content: url(../../base-learn/assets/images/icons/reading.svg);
}

[data-theme='dark'] .sidebar-reading a::before {
content: url(../../base-learn/assets/images/icons/reading-white.svg);
}

.sidebar-stepbystep a::before {
padding-right: 0.5rem;
content: url(../../base-learn/assets/images/icons/stepbystep.svg);
}

[data-theme='dark'] .sidebar-stepbystep a::before {
content: url(../../base-learn/assets/images/icons/stepbystep-white.svg);
}

.sidebar-video a::before {
padding-right: 0.5rem;
content: url(../../base-learn/assets/images/icons/video.svg);
}

[data-theme='dark'] .sidebar-video a::before {
content: url(../../base-learn/assets/images/icons/video-white.svg);
}
50 changes: 0 additions & 50 deletions apps/base-docs/src/css/basecamp-sidebar-icons.css

This file was deleted.

2 changes: 1 addition & 1 deletion apps/base-docs/src/css/custom.css
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
@import url('./fonts.css');
@import url('./root.css');
@import url('./basecamp-sidebar-icons.css');
@import url('./base-learn-sidebar-icons.css');
@import url('./navbar.css');
@import url('./search.css');
@import url('./sidebar.css');
Expand Down
4 changes: 2 additions & 2 deletions apps/base-docs/src/pages/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,11 @@ const imageCards = [
},
{
src: '/img/home-intro-2.png',
title: 'Base Camp',
title: 'Base Learn',
description:
'Become an onchain developer with our comprehensive smart contract development curriculum.',
buttonText: 'Explore',
buttonHref: '/base-camp/docs/welcome',
buttonHref: '/base-learn/docs/welcome',
analyticsData: {
name: 'camp_bootcamp',
event: {
Expand Down
Loading

0 comments on commit d2c0b51

Please sign in to comment.