11 | }
12 |
--------------------------------------------------------------------------------
/assets/js/react/services/hooks.js:
--------------------------------------------------------------------------------
1 | import goalsConfigs from "./config/_default/goals.json"
2 |
3 | export const useStorage = key => {
4 | const store = window.store
5 |
6 | const setValue = value => {
7 | store.set(key, value)
8 | }
9 | const getValue = () => {
10 | return store.get(key)
11 | }
12 |
13 | return [getValue(), setValue]
14 | }
15 |
16 | export const useContentLevel = () => {
17 | const [value, setValue] = useStorage("content_level");
18 |
19 | const setContentLevel = level => {
20 | setValue(level)
21 | }
22 | const getContentLevel = () => {
23 | return value
24 | }
25 |
26 | return [getContentLevel(), setContentLevel]
27 | }
28 |
29 | export const useSidebarMenuElements = () => {
30 | const menu = document.getElementById('doks-docs-nav')
31 | return Array.from(menu.querySelectorAll('[data-id]'))
32 | }
33 |
34 | export const useCurrentPageId = () => {
35 | const currentPageTitle = document.querySelector('[data-page-id]')
36 | return currentPageTitle.getAttribute('data-page-id')
37 | }
38 |
39 | export const useGoal = (section, goalIds) => {
40 | const sectionGoals = goalsConfigs[section]
41 |
42 | if (!sectionGoals) {
43 | return null
44 | }
45 |
46 | if (!goalIds || goalIds.length === 0) {
47 | return sectionGoals
48 | }
49 |
50 | let goals = {}
51 | for (const goalId of goalIds) {
52 | const goal = sectionGoals[goalId]
53 |
54 | if (goal) {
55 | goals = {
56 | ...goals,
57 | [goalId]: goal
58 | }
59 | }
60 | }
61 |
62 | return goals
63 | }
64 |
--------------------------------------------------------------------------------
/assets/js/react/services/util.js:
--------------------------------------------------------------------------------
1 | import ReactDOM from "react-dom/client";
2 | import React from "react";
3 | import {App, buildAppComponent} from "../components/App";
4 |
5 | export const LEVELS = ['shallow', 'deep']
6 |
7 | export const getDataAttribute = (id, attribute) => {
8 | const element = document.getElementById(id)
9 | return element.dataset[attribute]
10 | }
11 |
12 | export const hideElement = id => {
13 | const content = document.getElementById(id)
14 | content.style.display = "none"
15 | }
16 |
17 | export const getDataAttributeFromContainer = (container, attribute) => {
18 | return container.dataset[attribute]
19 | }
20 |
21 | export const renderComponent = (component, containerId) => {
22 | const container = document.getElementById(containerId);
23 |
24 | const root = ReactDOM.createRoot(container);
25 | root.render(component)
26 | }
27 |
28 | export const renderComponents = (component, fetchData, containerIdPrefix) => {
29 | const containers = document.querySelectorAll('[id^="' + containerIdPrefix + '"]');
30 |
31 | for (let i = 0; i < containers.length; i++) {
32 | const container = containers[i]
33 | const root = ReactDOM.createRoot(container);
34 | root.render(buildAppComponent(component, fetchData, container))
35 | }
36 | }
37 |
38 | export const parseList = (listAsString) => {
39 | if (!listAsString) {
40 | return []
41 | }
42 |
43 | return listAsString.replace('[', '').replace(']', '').split(' ')
44 | }
45 |
46 | export const parseBoolean = booleanAsString => {
47 | return booleanAsString === 'true'
48 | }
49 |
50 | export const capitalize = text => {
51 | return text.charAt(0).toUpperCase() + text.substring(1, text.length)
52 | }
53 |
54 |
--------------------------------------------------------------------------------
/assets/scss/app.scss:
--------------------------------------------------------------------------------
1 | /** Import Bootstrap functions */
2 | @import "bootstrap/scss/functions";
3 |
4 | /** Import theme variables */
5 | @import "common/variables";
6 |
7 | /** Import Bootstrap */
8 | @import "bootstrap/scss/bootstrap";
9 |
10 | /** Import highlight.js */
11 | // @import "highlight.js/scss/github-dark-dimmed";
12 |
13 | /** Import KaTeX */
14 | @import "katex/dist/katex";
15 |
16 | /** Import theme styles */
17 | @import "common/fonts";
18 | @import "common/global";
19 | @import "common/dark";
20 | @import "components/alerts";
21 | @import "components/buttons";
22 | @import "components/code";
23 | @import "components/details";
24 | @import "components/syntax";
25 | @import "components/comments";
26 | @import "components/forms";
27 | @import "components/images";
28 | @import "components/mermaid";
29 | @import "components/search";
30 | @import "components/tables";
31 | @import "layouts/footer";
32 | @import "layouts/header";
33 | @import "layouts/pages";
34 | @import "layouts/posts";
35 | @import "layouts/sidebar";
36 |
37 | /** Import custom styles */
38 | @import "common/custom";
39 |
--------------------------------------------------------------------------------
/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: [
3 | [
4 | '@babel/preset-env',
5 | {
6 | targets: {
7 | browsers: [
8 | // Best practice: https://github.com/babel/babel/issues/7789
9 | '>=1%',
10 | 'not ie 11',
11 | 'not op_mini all'
12 | ]
13 | }
14 | }
15 | ]
16 | ]
17 | };
18 |
19 | module.exports = function (api) {
20 | api.cache(true);
21 | const presets = [
22 | ["@babel/preset-react"]
23 | ]
24 | const plugins = [];
25 | return {
26 | presets,
27 | plugins
28 | };
29 | }
30 |
--------------------------------------------------------------------------------
/config/_default/languages.toml:
--------------------------------------------------------------------------------
1 | [en]
2 | languageName = "English"
3 | contentDir = "content/en"
4 | weight = 10
5 | [en.params]
6 | languageISO = "EN"
7 |
8 | # [de]
9 | # languageName = "German"
10 | # contentDir = "content/de"
11 | # weight = 15
12 | # [de.params]
13 | # languageISO = "DE"
14 | #
15 | # [nl]
16 | # languageName = "Nederlands"
17 | # contentDir = "content/nl"
18 | # weight = 20
19 | # [nl.params]
20 | # languageISO = "NL"
21 | # titleAddition = "Modern documentatie-thema"
22 | # description = "Doks is een Hugo-thema waarmee je moderne documentatie-websites kunt bouwen die veilig, snel en klaar voor SEO zijn — standaard."
23 | # titleHome = "Doks thema"
24 | # footer = "Mogelijk gemaakt door Netlify, Hugo, en Doks"
25 | # alertText = "Introductie van het Doks-kinderthema, verschillende DX + UX-updates en meer! Bekijk Doks v0.2"
26 |
--------------------------------------------------------------------------------
/config/_default/markup.toml:
--------------------------------------------------------------------------------
1 | defaultMarkdownHandler = "goldmark"
2 |
3 | [goldmark]
4 | [goldmark.extensions]
5 | linkify = false
6 | [goldmark.parser]
7 | autoHeadingID = true
8 | autoHeadingIDType = "github"
9 | [goldmark.parser.attribute]
10 | block = true
11 | title = true
12 | [goldmark.renderer]
13 | unsafe = true
14 |
15 | [highlight]
16 | codeFences = false
17 | guessSyntax = false
18 | hl_Lines = ""
19 | lineNoStart = 1
20 | lineNos = false
21 | lineNumbersInTable = true
22 | noClasses = false
23 | style = "dracula"
24 | tabWidth = 4
25 |
26 | [tableOfContents]
27 | endLevel = 3
28 | ordered = false
29 | startLevel = 2
30 |
--------------------------------------------------------------------------------
/config/_default/menus/menus.nl.toml:
--------------------------------------------------------------------------------
1 | [[docs]]
2 | name = "Prologue"
3 | weight = 10
4 | identifier = "prologue"
5 | url = "/docs/prologue/"
6 |
7 | [[docs]]
8 | name = "Help"
9 | weight = 60
10 | identifier = "help"
11 | url = "/docs/help/"
12 |
13 | [[main]]
14 | name = "Docs"
15 | url = "/docs/prologue/introduction/"
16 | weight = 10
17 |
18 | # [[main]]
19 | # name = "Blog"
20 | # url = "/blog/"
21 | # weight = 20
22 |
23 | [[social]]
24 | name = "GitHub"
25 | pre = ""
26 | url = "https://github.com/h-enk/doks"
27 | post = "v0.1.0"
28 | weight = 10
29 |
30 | [[social]]
31 | name = "Twitter"
32 | pre = ""
33 | url = "https://twitter.com/getdoks"
34 | weight = 20
35 |
36 | # [[footer]]
37 | # name = "Privacy"
38 | # url = "/privacy-policy/"
39 | # weight = 10
40 |
--------------------------------------------------------------------------------
/config/_default/params.toml:
--------------------------------------------------------------------------------
1 | # Meta Data for SEO
2 |
3 | ## Homepage
4 | title = "Launchpad"
5 | titleSeparator = "-"
6 | titleAddition = "Blast off into web3 with Launchpad!"
7 | description = "Launchpad is a hiring & onboarding program designed for accelerating technical growth in the Web3 space."
8 |
9 | ## Documentation
10 | # docsVersion = "0.3"
11 |
12 | ## Open Graph
13 | images = ["launchpad.png"]
14 | ogLocale = "en_US"
15 | domainTLD = "pl-launchpad.io"
16 | titleHome = "Launchpad"
17 |
18 | ## Twitter Cards
19 | twitterSite = "@launchpad_pl"
20 | twitterCreator = "@launchpad_pl"
21 |
22 | ## JSON-LD
23 | # schemaType = "Person"
24 | schemaType = "Organization"
25 | schemaName = "Launchpad"
26 | schemaAuthor = "Protocol Labs"
27 | schemaAuthorTwitter = "https://twitter.com/launchpad_pl"
28 | schemaAuthorLinkedIn = "https://www.linkedin.com/in//"
29 | schemaAuthorGitHub = "https://github.com/protocol/"
30 | schemaLocale = "en-US"
31 | schemaLogo = "logo-launchpad.png"
32 | schemaLogoWidth = 512
33 | schemaLogoHeight = 512
34 | schemaImage = "doks.png"
35 | schemaImageWidth = 1280
36 | schemaImageHeight = 640
37 | schemaTwitter = "https://twitter.com/launchpad_pl"
38 | schemaLinkedIn = ""
39 | schemaGitHub = "https://github.com/protocol/launchpad"
40 | schemaSection = "blog"
41 |
42 | ## Sitelinks Search Box
43 | siteLinksSearchBox = false
44 |
45 | ## Chrome Browser
46 | themeColor = "#fff"
47 |
48 | # Images
49 | quality = 85
50 | bgColor = "#fff"
51 | landscapePhotoWidths = [900, 800, 700, 600, 500]
52 | portraitPhotoWidths = [800, 700, 600, 500]
53 | lqipWidth = "20x"
54 | smallLimit = "300"
55 |
56 | # Footer
57 | footer = 'Made with ♥ by Protocol Labs. The icons used are provided by Flaticon.'
58 |
59 | # Feed
60 | copyRight = "Copyright (c) Protocol Labs"
61 |
62 | # Alert
63 | alert = false
64 | alertDismissable = true
65 | alertText = ""
66 |
67 | # Edit Page
68 | # repoHost [Github | Gitea | GitLab | Bitbucket | BitbucketServer ] is used for building the edit link based on git hoster
69 | repoHost = "GitHub"
70 | docsRepo = "https://github.com/protocol/launchpad"
71 | docsRepoBranch = "main"
72 | docsRepoSubPath = ""
73 | editPage = true
74 | lastMod = false
75 |
76 | [options]
77 | lazySizes = true
78 | clipBoard = true
79 | instantPage = true
80 | flexSearch = true
81 | darkMode = true
82 | bootStrapJs = true
83 | breadCrumb = false
84 | highLight = true
85 | kaTex = false
86 | multilingualMode = false
87 | docsVersioning = false
88 | collapsibleSidebar = true
89 | ignoreErrors = ["image-not-found"]
90 |
91 |
--------------------------------------------------------------------------------
/config/next/config.toml:
--------------------------------------------------------------------------------
1 | canonifyURLs = false
2 |
--------------------------------------------------------------------------------
/config/postcss.config.js:
--------------------------------------------------------------------------------
1 | const autoprefixer = require('autoprefixer');
2 | const purgecss = require('@fullhuman/postcss-purgecss');
3 | const whitelister = require('purgecss-whitelister');
4 |
5 | module.exports = {
6 | plugins: [
7 | autoprefixer(),
8 | purgecss({
9 | content: [
10 | './node_modules/@hyas/doks/layouts/**/*.html',
11 | './node_modules/@hyas/doks/content/**/*.md',
12 | './layouts/**/*.html',
13 | './content/**/*.md',
14 | ],
15 | safelist: [
16 | 'lazyloaded',
17 | 'table',
18 | 'thead',
19 | 'tbody',
20 | 'tr',
21 | 'th',
22 | 'td',
23 | 'h5',
24 | 'alert-link',
25 | 'container-xxl',
26 | 'container-fluid',
27 | ...whitelister([
28 | './node_modules/@hyas/doks/assets/scss/common/_variables.scss',
29 | './node_modules/@hyas/doks/assets/scss/components/_alerts.scss',
30 | './node_modules/@hyas/doks/assets/scss/components/_buttons.scss',
31 | './node_modules/@hyas/doks/assets/scss/components/_code.scss',
32 | './node_modules/@hyas/doks/assets/scss/components/_syntax.scss',
33 | './node_modules/@hyas/doks/assets/scss/components/_search.scss',
34 | './node_modules/@hyas/doks/assets/scss/common/_dark.scss',
35 | './node_modules/katex/dist/katex.css',
36 | ]),
37 | ],
38 | }),
39 | ],
40 | }
41 |
--------------------------------------------------------------------------------
/config/production/config.toml:
--------------------------------------------------------------------------------
1 | canonifyURLs = false
2 |
--------------------------------------------------------------------------------
/content/en/_index.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Launchpad"
3 | description: ""
4 | lead: "Launchpad is a hiring & onboarding program designed for accelerating technical growth in the Web3 space."
5 | date: 2020-10-06T08:47:36+00:00
6 | lastmod: 2020-10-06T08:47:36+00:00
7 | draft: false
8 | images: []
9 | ---
10 |
11 | Launchpad is a training program covering topics like: blockchains,
12 | peer-to-peer communication, content addressing, and decentralized file storage. The program was built over 1.5 years, running over 12 live cohorts virtually and in person in locations such as Paris, Reykjavik, San Francisco and more.
13 |
14 | {{< youtube DMmCZgKOUlD9LVr >}}
15 |
16 | Launchpad live cohorts are currently paused. Our curriculum and resources which have proven valuable to more than 270 participants from 20 diverse organizations are now available to use for self-guided exploration.
17 |
18 | Click on 'Discover Curriculum' in the menu to begin your learning experience!"
19 |
20 | To get in touch with us at Protocol Labs, feel free to join [Filecoin
21 | Slack](https://filecoin.io/slack).
22 |
23 | If you would like to be notified of future cohorts, please
24 | join our wait-list below.
25 |
--------------------------------------------------------------------------------
/content/en/curriculum/_index.md:
--------------------------------------------------------------------------------
1 | ---
2 | title : "Curriculum"
3 | ---
4 |
--------------------------------------------------------------------------------
/content/en/curriculum/dev-tools/bacalhau/bacalhau-architecture.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/dev-tools/bacalhau/bacalhau-architecture.png
--------------------------------------------------------------------------------
/content/en/curriculum/dev-tools/bacalhau/bacalhau-overview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/dev-tools/bacalhau/bacalhau-overview.png
--------------------------------------------------------------------------------
/content/en/curriculum/dev-tools/ceramic/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Ceramic"
3 | description: "Decentralized Identity Graph Network"
4 | draft: false
5 | menu:
6 | curriculum:
7 | parent: "curriculum-devtools"
8 | category: lecture
9 | weight: 90
10 | level:
11 | - shallow
12 | - deep
13 | ---
14 |
15 | Ceramic is a decentralized, open source platform for creating, hosting, and sharing streams of data. With Ceramic's permissionless data streaming network, you can store streams of information and ever-changing files directly on the decentralized web – and share updates with anyone in the world.
16 |
17 | Read more in the [docs](https://developers.ceramic.network/learn/welcome/) and on their [webpage](https://ceramic.network/)
18 |
19 | Join the [community on Discord](https://discord.com/invite/6VRZpGP) to get connected
20 |
21 | #### Ceramic: Building with Soverign Data on Ceramic Network | ETHGlobal – Joel Thorstensson
22 | Join Joel Thorstensson of Ceramic for a workshop titled "Building with Sovereign Data on Ceramic Network," part of HackFS 2021, a three-week virtual hackathon focused on building a digital world
23 |
24 | {{< youtube BX49K3BL-U8 >}}
25 |
26 | Understand more about Ceramic from this blog: [What is Ceramic?](https://blog.ceramic.network/what-is-ceramic/)
27 |
28 | ## Tutorials
29 | * [Quickstart](https://developers.ceramic.network/build/cli/quick-start/) – Learn the basics by setting up and interacting with the [Ceramic CLI](https://developers.ceramic.network/build/cli/installation/). This tutorial serves as a simple introduction to Ceramic concepts.
30 |
31 | ### Try Ceramic
32 | To experience how Ceramic works in a browser application, try the [Playground app](https://ceramicstudio.github.io/web-playground/).
33 |
--------------------------------------------------------------------------------
/content/en/curriculum/dev-tools/chainsafe/forest.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Forest"
3 | description: "Rust client for the Filecoin network"
4 | draft: false
5 | menu:
6 | curriculum:
7 | parent: "curriculum-devtools"
8 | weight: 0
9 | category: lecture
10 | level:
11 | - shallow
12 | - deep
13 | ---
14 |
15 | ## Introduction
16 | Forest is the rust client for the Filecoin network. Forest adds to the client diversity, network resiliency, network democracy, decentralization and overall adoption of Filecoin.
17 |
18 | ## Why Use/ Who Uses
19 | Forest put its focus on being a light infrastructure node and having an enhanced developer experience. A few key developments include:
20 |
21 | - the ability to generate its own snapshots for calibration and main network
22 | - the ability to generate snapshots with 10 GB memory
23 | - fast snapshot export time: main net (under 1 hour), calibration net (under 1 minute)
24 | - the ability to switch networks during runtime with a flag
25 | - the ability to run Forest with docker containers as first class citizens with native images for amd64 and arm64
26 |
27 |
28 | ## Tutorial
29 | Please follow the [Forest documentation](https://github.com/ChainSafe/forest) if you are interested in running the node.
30 |
31 |
32 | ## Coming Next
33 | A few key features that you can expect from the Forest client in the near future:
34 | - Filecoin wallet handling capabilities including send, receive and store FIL
35 | - The ability to make storage and retrieval deals
36 | - A javascript console into the Forest CLI (inspired by Geth Go Ethereum Client) for developers to retrieve chain data, interact with chain state, etc
37 |
38 | ## Resources
39 | * [Forest repo](https://github.com/ChainSafe/forest)
40 | * [Forest releases](https://github.com/ChainSafe/forest/releases)
41 | * [Forest wiki](https://github.com/ChainSafe/forest/wiki)
42 | * [Forest docker documentation](https://github.com/ChainSafe/forest/blob/main/documentation/src/docker.md)
43 |
44 |
45 | ## Support
46 | Reach out to Lee R (Forest TPM) at lee@chainsafe.io or David H (Forest Team Lead) at david.himmelstrup@chainsafe.io for any questions or collaborations!
--------------------------------------------------------------------------------
/content/en/curriculum/dev-tools/fleek/daemon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/dev-tools/fleek/daemon.png
--------------------------------------------------------------------------------
/content/en/curriculum/dev-tools/fleek/hosting.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/dev-tools/fleek/hosting.png
--------------------------------------------------------------------------------
/content/en/curriculum/dev-tools/fleek/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Fleek"
3 | description: "An Easy-to-Use Web3 Hosting Service"
4 | draft: false
5 | menu:
6 | curriculum:
7 | parent: "curriculum-devtools"
8 | category: lecture
9 | weight: 40
10 | level:
11 | - shallow
12 | - deep
13 | ---
14 |
15 | **Fleek** makes it easy to build on Open Web protocols and a base layer infrastructure powered by them. Build and host your sites, apps, Dapps, and other services on trustless, permissionless, and open technologies focused on creating user-controlled, encrypted, private, p2p experiences easily.
16 |
17 | With Fleek, you can host a website on web3, manage your domain, upload and pin files to IPFS, use the Space SDK to build and Open Web app, and use the Fleek IPFS gateway, in addition to the Space Daemon.
18 |
19 | 
20 |
21 | ### Fleek Space Daemon
22 |
23 | The Space Daemon packages together IPFS, Textile Threads/Buckets, and Textile Powergate (Filecoin) into one easy to install and JS interface to make it easy to build peer to peer and privacy focused apps.
24 |
25 | 
26 |
27 | [Get started with the Fleek Space Daemon](https://docs.fleek.co/space-daemon/getting-started/) in the documentation
28 |
29 | #### [Documentation](docs.fleek.co/space-daemon)
30 | **Note:** You should have IPFS node running on your machine using the `ipfs daemon` command to view the documentation. See the video on [Getting Started with IPFS](https://youtu.be/A7yZaYhrwyM) to get set up.
31 |
--------------------------------------------------------------------------------
/content/en/curriculum/dev-tools/network-indexer/cid-contact2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/dev-tools/network-indexer/cid-contact2.png
--------------------------------------------------------------------------------
/content/en/curriculum/dev-tools/network-indexer/indexcid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/dev-tools/network-indexer/indexcid.png
--------------------------------------------------------------------------------
/content/en/curriculum/dev-tools/network-indexer/ipfspeerid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/dev-tools/network-indexer/ipfspeerid.png
--------------------------------------------------------------------------------
/content/en/curriculum/dev-tools/network-indexer/ipni-commands.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/dev-tools/network-indexer/ipni-commands.png
--------------------------------------------------------------------------------
/content/en/curriculum/dev-tools/network-indexer/ipni-index.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/dev-tools/network-indexer/ipni-index.png
--------------------------------------------------------------------------------
/content/en/curriculum/dev-tools/objectives/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Learning Objectives"
3 | description: "Simple, Open, Free Storage"
4 | draft: false
5 | menu:
6 | curriculum:
7 | parent: "curriculum-devtools"
8 | identifier: "devtools-objectives"
9 | category: lecture
10 | weight: 1
11 | level:
12 | - shallow
13 | - deep
14 | objectives:
15 | show: true
16 | showTitle: false
17 | introPage: true
18 | ---
19 |
20 | This page is a reference for Technology and Projects supported and maintained by Protocol Labs, including a wide range of PLN Companies and Tools that exist in the PLN ecosystem.
21 |
22 | All of these projects are a part of the Protocol Labs Network and contribute to our ecosystem of tooling.
23 |
24 | The wide range of projects across the PLN provide important solutions for the technology across the Protocol Labs stacks, whether they are Open Source Software (OSS), protocols, or tools and services offered for a subscription or fee, these companies and projects are all a part of our efforts working together to power the distributed web.
25 |
26 | To learn more about the team members and maintainers of different projects, see the **[PLN Team Directory](https://www.plnetwork.io/directory/teams)**.
27 |
28 | ## Technology & Projects
29 | * **[IPNI Network Indexer](/curriculum/dev-tools/network-indexer)**: A project designed to index the data on the Filecoin and IPFS networks
30 | * **[Bacalhau](/curriculum/dev-tools/bacalhau)**: A framework that allows you to perform distributed computations on IPFS
31 | * **[Fleek](/curriculum/dev-tools/fleek/)**: For hosting and building DApps on web3
32 | * **[Piñata](/curriculum/dev-tools/pinata/)**: A pinning service for individuals and creators
33 | * **[Web3.Storage](/curriculum/dev-tools/web3-storage/)**: The data layer for uploading and storing content on IPFS and Filecoin
34 | * **[Spice.ai](/curriculum/dev-tools/spice/)**: Web3 and blockchain solutions that are enabling developers to build the next generation of apps
35 | * **[Textile](/curriculum/dev-tools/textile/)**: A suite of developer tools, including Powergate, Buckets, and ThreadDB, and more
36 | * **[Ceramic](/curriculum/dev-tools/ceramic/)**: Identity-based storage & indexing
37 | * **[thirdweb](https://thirdweb.com/)**:thirdweb is a complete web3 development framework that provides everything you need to build, manage, and deploy smart contracts. We offer SDKs in common languages, UI components, storage, RPC nodes, on chain data, and more tools to make it easier to build in web3.
38 |
39 | **Other Project Links**
40 | * **[Saturn](https://strn.network/)**: The web3 open-source Content Delivery Network (CDN). Run your own node and earn Filecoin
41 | * **[FVM](https://fvm.filecoin.io/)**: Leveraging EVM compatible smart contracts
42 | * **[Lotus](https://lotus.filecoin.io/)**: The Go implementation of the Filecoin Protocol
43 | * **[Boost](https://boost.filecoin.io/)**: A tool for Storage Providers to manage data onboarding and retrieval on the Filecoin network
44 | * **[Chainsafe](https://chainsafe.io/)**: Protocol engineering, research, and software teams
45 | * **[Estuary](https://docs.estuary.tech/tutorial-get-an-api-key)**: Public data storage tool for Filecoin & IPFS
46 | * **[Fission](https://dev.to/fission/fission-on-the-ipfs-community-call-nof)**: SDK for web3-native apps to help you build web3 products & services
47 |
48 |
49 |
--------------------------------------------------------------------------------
/content/en/curriculum/dev-tools/pinata/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Piñata"
3 | description: "The Piñata Pinning Service"
4 | draft: false
5 | menu:
6 | curriculum:
7 | parent: "curriculum-devtools"
8 | category: lecture
9 | weight: 50
10 | level:
11 | - shallow
12 | - deep
13 | ---
14 |
15 | Piñata is a pinning service that allows applications, creators, and individuals to interact with blockchain in a simple, intuitive way. With Piñata you can secure and pin NFTs, as well as add and hide files to the IPFS network with a feature called [submarining](https://www.pinata.cloud/blog/introducing-submarining-what-it-is-why-you-need-it). They also provide [dedicated gateways](https://www.pinata.cloud/blog/the-power-of-dedicated-gateways) and storage servers, and easy upload through their UI.
16 |
17 | For developers, Piñata offers an API endpoint (https://api.pinata.cloud/psa), which you can use with the [IPFS CLI](https://docs.pinata.cloud/api-pinning/pinning-services-api#configuring-pinata-in-the-ipfs-cli), or configure Piñata with IPFS Desktop and your [JSON Web Token](https://docs.pinata.cloud/api-pinning/pinning-services-api).
18 |
19 |
20 | #### [About Pinata | Kyle Tut & Matt Ober](https://pinnie.mypinata.cloud/ipfs/QmVzQdLztGgzvvYatzCpgubqM3VZPyGa6xbzieAyFNRGcY?stream=true)
21 |
22 | ### Resources
23 |
24 | * [Piñata website](https://www.pinata.cloud/)
25 | * [Piñata API Docs](https://docs.pinata.cloud/api-pinning/pinning-services-api)
26 | * [Piñata Medium articles](https://medium.com/pinata)
27 | * [Piñata blog](https://www.pinata.cloud/blog)
28 | * [Sign up for a Piñata cloud account](https://app.pinata.cloud/)
29 | * [Tutorial- Sharing Content](https://medium.com/pinata/how-to-easily-share-content-on-patreon-with-pinata-aa8682f2ee0c)
30 |
--------------------------------------------------------------------------------
/content/en/curriculum/dev-tools/polywrap/03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/dev-tools/polywrap/03.png
--------------------------------------------------------------------------------
/content/en/curriculum/dev-tools/polywrap/04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/dev-tools/polywrap/04.png
--------------------------------------------------------------------------------
/content/en/curriculum/dev-tools/polywrap/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Polywrap"
3 | description: "Framework for building web3 SDKs"
4 | draft: false
5 | menu:
6 | curriculum:
7 | parent: "curriculum-devtools"
8 | category: lecture
9 | weight: 60
10 | level:
11 | - shallow
12 | - deep
13 | ---
14 |
15 | [**Polywrap**](https://polywrap.io/) is a framework for building “wrappers”: composable, portable, and dynamically upgradeable SDKs.✨
16 |
17 | Wrappers offer a much better strategy for code reuse and composability than traditional SDKs. Wrappers are:
18 |
19 | - **easily composable.** Polywrap wrappers can connect and work together in intuitive ways, opening up endless possibilities for your dApps. Imagine combining a DeFi wrapper with an NFT wrapper to create a brand new dApp experience.
20 |
21 | 
22 |
23 | - **portable.** With Polywrap, web3 devs create one web3 protocol wrapper that works everywhere—web, mobile, servers, IoT, so long as the environment has the Polywrap client library installed.
24 |
25 | 
26 |
27 |
28 | - **updatable on the fly.** Wrappers aren't bundled into applications. Instead, they're fetched at runtime and any patch updates are done on the fly, without the need to rebuild your entire dApp.
29 | ---
30 |
31 | # Join us in the future of web3 dApp development!
32 |
33 | **Discord:** [https://discord.com/invite/Z5m88a5qWu](https://discord.com/invite/Z5m88a5qWu)
34 |
35 | **Documentation:**[https://docs.polywrap.io/](https://docs.polywrap.io/)
36 |
37 |
--------------------------------------------------------------------------------
/content/en/curriculum/dev-tools/spice.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Spice AI"
3 | description: "Planet-Scale Data & AI Infrastructure for Web3"
4 | draft: false
5 | menu:
6 | curriculum:
7 | parent: "curriculum-devtools"
8 | category: lecture
9 | weight: 70
10 | level:
11 | - shallow
12 | - deep
13 | ---
14 |
15 | Designed for apps and machine learning, Spice AI delivers web3 and blockchain solutions that are enabling developers to build the next generation of apps. Get petabyte-scale data and AI infrastructure for web3 - without the pain of building and operating complex infrastructure.
16 |
17 | Learn more about Spice AI on the website at [spiceai.io](https://spiceai.io/) and in the [docs](https://docs.spice.xyz/)
18 |
19 | #### Dedicated to the Developer Experience: Get Started with Just Three Lines of Code
20 |
21 | Get started in minutes, not months. With Spice.xyz, it takes just three lines of code to get rich web3 data in familiar tools like NumPy and Pandas. Developer-friendly Node and Python SDK's make accessing web3 data easy.
22 |
23 | ## Ecosystem Compatible
24 |
25 | Fetch millions of rows of data and access libraries such as NumPy and Pandas with ease. Use client libraries such as web3.js, ehter.js, and web3.py in combination with SQL query API's.
26 |
27 | ## Combine Code with SQL Query
28 |
29 | Use developer-friendly SDK's to query web3 data with ease, including joins across multiple datasets with filtering and aggregations, in just three lines of code.
30 |
31 | ## Enriched Datasets
32 |
33 | Fully supported high-quality, enriched datasets for tokens, NFTs, DEXs and more.
34 |
35 | ## Other Resources
36 | Join our Discord, visit our GitHub, and follow us on Twitter!
37 |
38 | [Read More](https://docs.spice.xyz/) | [On Github](https://github.com/spiceai/spiceai) | [On Twitter](https://twitter.com/spice_ai)
--------------------------------------------------------------------------------
/content/en/curriculum/dev-tools/textile/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Textile"
3 | description: "Connecting and Extending PL Projects"
4 | draft: false
5 | menu:
6 | curriculum:
7 | parent: "curriculum-devtools"
8 | category: lecture
9 | weight: 80
10 | level:
11 | - shallow
12 | - deep
13 | ---
14 |
15 | Learn more about textile on the website at [textile.io](https://linktr.ee/textileio) and in the [docs](https://docs.textile.io/)
16 |
17 | Textile is designed to connect and extend Libp2p, IPFS, and Filecoin.
18 |
19 | Textile’s suite of developer tools, including Powergate, Buckets, and ThreadDB, let developers build meaningful experiences quickly with Web3 protocols like libp2p, IPFS, and Filecoin.
20 |
21 | #### Building Web3: Textile and Data Ownership | Filecoin
22 |
23 | {{< youtube d1kpID1LSRE >}}
24 |
25 | ## Powergate
26 |
27 | Powergate is an API for deploying hybrid Filecoin and IPFS storage into your stack. Designed for developers who want powerful ways to connect & extend Libp2p, IPFS, and Filecoin. It is a Docker container wrapped around an IPFS node + Filecoin node which allows you to stage, store, and retrieve data, with default configs for miner selection
28 |
29 | 
30 |
31 | ## Other Tools
32 |
33 | ### The Hub
34 | The Hub is your portal to the IPFS network and the fastest way to start building and experimenting with Textile technologies.
35 |
36 | [Read More](https://docs.textile.io/hub/)
37 |
38 | ### Buckets
39 | Buckets are:
40 | * A new way to pin data to IPFS and archive data on Filecoin.
41 | * Dynamic folders published simultaneously over IPFS, IPNS, and HTTP.
42 | * Designed to simplify creating folders of data and pushing that data to remote IPFS peers for backup, persistence, or sharing.
43 |
44 | [Read More](https://docs.textile.io/buckets)
45 |
46 | ### ThreadDB
47 | ThreadDB makes dynamic data on the DWeb easy by providing simple data hosting services and an API familiar to anyone who used MongoDB/Mongoose.
48 |
49 | ThreadDB is a secure, decentralized, p2p database built on IPFS and Libp2p.
50 |
51 | Spend less time configuring encryption or managing content addresses with ThreadDB.
52 |
53 | [Read More](https://docs.textile.io/threads/)
54 |
55 | ## Other Resources
56 |
57 | Join our public Slack, visit our GitHub, follow us on Twitter, and check out the Blog!
58 |
59 | [Read More](https://docs.textile.io/powergate/) | [On Github](https://github.com/textileio/powergate/)
60 |
61 | Learn more about Filecoin with the [Interview with Andrew Hill](https://filecoin.io/blog/posts/meet-andrew-hill/)
62 |
63 | #### Getting Started with Filecoin (Using Textile & Powergate) | ETHGlobal – Andrew Hill
64 |
65 | A workshop for beginners and intermediate developers with Andrew Hill of Textile. This is for anyone who understands the basics and wants to build something now.
66 |
67 | {{< youtube SePJrCLUM0g >}}
68 |
--------------------------------------------------------------------------------
/content/en/curriculum/dev-tools/textile/powergate.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/dev-tools/textile/powergate.png
--------------------------------------------------------------------------------
/content/en/curriculum/dev-tools/web3-storage/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Web3.Storage"
3 | description: "Simple, Open, Free Storage"
4 | draft: false
5 | menu:
6 | curriculum:
7 | parent: "curriculum-devtools"
8 | category: lecture
9 | weight: 60
10 | level:
11 | - shallow
12 | - deep
13 | ---
14 |
15 | [web3.storage](https://web3.storage/) unlocks the data layer for developers and end-users. You get all the benefits of decentralized data and auth protocols with the frictionless experience you expect in a modern dev workflow.
16 | web3.storage is a service to make building on top of content addressed data as simple as possible, with simple client libraries making data available on IPFS and stored in Filecoin deals.
17 |
18 | The experience is fast and reliable, with an architecture built for scale. Combined with APIs built on User Controlled Authorization Networks [UCANs](https://ucan.xyz/) auth, web3.storage enables user-centric applications that champion portability, limit lock-in, and are more efficient, with integration as simple as pasting a few lines of front-end code.
19 |
20 | 
21 |
22 | ### Resources
23 |
24 | - [Quickstart](https://web3.storage/docs/#quickstart) with NodeJS (current API in docs uses web2 auth)
25 | - Check out our beta UCAN-based API [here](https://blog.web3.storage/posts/w3up-beta-launch)
26 | - [Additional resources](https://blog.web3.storage/posts/resources-to-get-you-started-with-w3up) for beta API
27 | - [More](https://blog.web3.storage/posts/intro-to-ucan) on how we use UCAN
28 | - [Example app](https://web3.storage/docs/examples/image-gallery) using current API that uses web2 auth
29 | - [Example app](https://blog.web3.storage/posts/forever-note) using beta UCAN-based API
30 | - [Vision](https://blog.web3.storage/posts/say-hello-to-the-data-layer-1-3-intro-to-web3-storage) of product
31 | - [Overview](https://blog.web3.storage/posts/web3-storage-architecture) of current architecture
--------------------------------------------------------------------------------
/content/en/curriculum/dev-tools/web3-storage/w3s.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/dev-tools/web3-storage/w3s.png
--------------------------------------------------------------------------------
/content/en/curriculum/filecoin/cryptoeconomics/flow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/filecoin/cryptoeconomics/flow.png
--------------------------------------------------------------------------------
/content/en/curriculum/filecoin/drand.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Drand"
3 | description: "Distributed, Unpredictable, Publicly-Verifiable, and Decentralized Randomness Generator"
4 | draft: false
5 | menu:
6 | curriculum:
7 | parent: "curriculum-filecoin"
8 | weight: 60
9 | category: lecture
10 | level:
11 | - deep
12 | ---
13 |
14 | Drand is a distributed, bias-resistant, unpredictable, and publicly verifiable randomness generator that is key to the Filecoin implementation in how it provides unpredictable, decentralized and publicly verifiable random values for the blockchain. [Learn more about how Drand works in the docs](https://drand.love/docs/overview/#how-drand-works)
15 |
16 | #### Drand: Distributed, Bias Resistant, Unpredictable and Publicly Verifiable Randomness | Nicolas Gailly
17 | Drand uses [cryptographic methods](https://drand.love/docs/cryptography/#setup-phase), collective public keys, and a private key share of a collective private key to generate randomness in a distributed manner.
18 |
19 | {{< youtube ydwW2HFFxNI >}}
20 |
21 | #### [drand - The Distributed Randomness Beacon | ResNetLabs On Tour – Nicolas GAILLY](https://research.protocol.ai/tutorials/resnetlab-on-tour/modular-p2p-stack/)
22 |
23 | drand is a distributed randomness beacon. It provides publicly-verifiable, unpredictable, and bias-resistant random numbers as a public service. In this module, we’ll walk through:
24 |
25 | * Threshold Cryptography & Randomness
26 | * Distributed Key Generation in drand
27 | * The Setup and Randomness Generation Phases
28 | * The League of Entropy
29 |
30 | {{< youtube NNfaQ__UFCE >}}
31 |
32 | ## Drand Resources
33 |
34 | * The [drand website](https://drand.love/)
35 | * [Spec](https://spec.filecoin.io/libraries/drand/)
36 | * [Github Repos](https://github.com/drand)
37 | * Article – [Researchers from Protocol Labs Explain how the Drand or Distributed Randomness Project can Help with Cybersecurity, Election Audits](https://www.crowdfundinsider.com/2020/08/165618-researchers-from-protocol-labs-explain-how-the-drand-or-distributed-randomness-project-can-help-with-cybersecurity-election-audits/)
--------------------------------------------------------------------------------
/content/en/curriculum/filecoin/how-filecoin-works/anatomy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/filecoin/how-filecoin-works/anatomy.png
--------------------------------------------------------------------------------
/content/en/curriculum/filecoin/how-filecoin-works/notary.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/filecoin/how-filecoin-works/notary.png
--------------------------------------------------------------------------------
/content/en/curriculum/filecoin/introduction/data-storage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/filecoin/introduction/data-storage.png
--------------------------------------------------------------------------------
/content/en/curriculum/filecoin/introduction/intro.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/filecoin/introduction/intro.png
--------------------------------------------------------------------------------
/content/en/curriculum/filecoin/objectives.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Learning Objectives"
3 | description: "Summary and Learning Goals"
4 | draft: false
5 | menu:
6 | curriculum:
7 | parent: "curriculum-filecoin"
8 | identifier: "filecoin-objectives"
9 | weight: 10
10 | category: lecture
11 | level:
12 | - shallow
13 | - deep
14 | ---
15 |
16 | # Filecoin
17 |
18 | Filecoin is at the foundation of Protocol Labs' mission to create a distributed, decentralized internet and a foundation for a better digital future. The mission of Filecoin and [Filecoin Foundation](https://fil.org/) is to create a decentralized, efficient, and robust foundation for humanity’s information.
19 |
20 | IPFS is not a blockchain-based protocol and it alone does not include a built-in mechanism to incentivize the storage of data for other people. This is where Filecoin comes in. Filecoin is a peer-to-peer network that stores files, with built-in economic incentives to ensure files are stored reliably over time. In other words, Filecoin is a decentralized storage network that provides data persistence via a decentralized protocol, and publicly verifiable storage proofs on a blockchain.
21 |
22 | On the Filecoin network, users pay in Filecoin tokens to store their files with storage providers. Storage providers earn units of Filecoin (FIL) for storing files, and they are responsible for storing files and proving they have stored the files correctly over time.
23 |
24 | Available storage and the price of that storage is not controlled by any single company. Instead, the Filecoin network facilitates open markets for storing and retrieving files (by making storage deals between clients and providers) that anyone can participate in. At any time, users can verify that their files are being stored correctly by looking at proofs on Filecoin’s blockchain.
25 |
26 |
27 |
28 | ## Learning Objectives
29 |
30 | ### Shallow Dive Goals
31 | * **1.0 –** Understand how and why Filecoin was created, what it’s used for, and the different sub projects that have evolved to improve it’s usability & functionality
32 | * **1.1 –** Gain a basic understanding of account-based blockchain state model and economic mechanisms (shared with Ethereum and many others)
33 | * **1.2 –** Have a conceptual understanding of the sector sealing and proving process (unique replication, proof of replication, ongoing proof of space-time)
34 | * **1.3 –** Have a process understanding of deal-making, including data preparation and transport, and retrieval deals
35 |
36 | ### Deep Dive Goals
37 | * **1.4 –** Understand the Filecoin state tree as a piece of structured IPLD, and actors as state transitions
38 | * **1.5 –** Be able to explain and give examples of the concepts of storage-powered consensus, secret leader elections
39 | * **1.6 –** Understand the operation of an over-collateralized lending market on Ethereum (e.g. Aave), as an analogy to basic platform possibilities on the FVM
40 |
41 |
42 | ### Links
43 |
44 | **IPFS** | [Docs](https://docs.ipfs.io) | [GitHub](https://github.com/ipfs) - **IPLD** | [Docs](https://ipld.io/docs/) | [GitHub](https://github.com/ipld) - **libp2p** | [Docs](https://docs.libp2p.io) | [GitHub](https://github.com/libp2p) - **Filecoin** | [Docs](https://docs.filecoin.io) | [GitHub](https://github.com/filecoin-project)
45 |
--------------------------------------------------------------------------------
/content/en/curriculum/filecoin/past-recorded-sessions.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Filecoin Shallow and Deep Dive Sessions"
3 | description: "Introductory, Shallow & Deep Dives into Filecoin"
4 | draft: false
5 | menu:
6 | curriculum:
7 | parent: "curriculum-filecoin"
8 | weight: 80
9 | category: lecture
10 | ---
11 |
12 | ## Filecoin Shallow Dive
13 |
14 | This Shallow Dive explores the core topics of Filecoin including data verifiability and transfer, Filecoin as a marketplace, and a variety of use cases.
15 |
16 | {{< youtube Nr53vTbNE>}}
17 |
18 | {{< embed src="https://docs.google.com/presentation/d/e/2PACX-1vTiPMmBbDR1zI3UUMiwJGQ_NRubsKqWOueQp57uYp9MqgxtEv-o4bX7ktORf1CXn6_rMK8M1chS8OlZ/embed?start=false&loop=false&delayms=3000" frameborder="0" width="100%" height="500" allowfullscreen="true" mozallowfullscreen="true" webkitallowfullscreen="true" >}}
19 | Filecoin Shallow Dive (3/28/23)
20 |
21 | ## Filecoin Deep Dive
22 |
23 | The Filecoin Deep Dive is a Q&A format discussion on the more technically complex aspects of Filecoin.
24 | {{< youtube j2UMid1ZFck>}}
25 | Filecoin Deep Dive (2/23/23)
26 |
--------------------------------------------------------------------------------
/content/en/curriculum/filecoin/protocol/chain-components.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/filecoin/protocol/chain-components.png
--------------------------------------------------------------------------------
/content/en/curriculum/filecoin/where-we-are-headed.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Progress & Future Work"
3 | description: "The future of Filecoin"
4 | draft: false
5 | menu:
6 | curriculum:
7 | parent: "curriculum-filecoin"
8 | weight: 70
9 | category: lecture
10 | level:
11 | - deep
12 | ---
13 |
14 | ### Filecoin Community Roadmap
15 |
16 | * [https://github.com/filecoin-project/community/discussions/399](https://github.com/filecoin-project/community/discussions/399)
17 |
18 | ### Filecoin 2021 Milestones & Future Work
19 |
20 | {{< youtube Uya0C_lMSuY >}}
21 |
22 | ### Filecoin Ecosystem & Opportunities (Optional)
23 |
24 | {{< youtube Z7rYxoGBVjg >}}
25 |
26 | {{< youtube ApVVg78ZBog >}}
27 |
28 | ### Filecoin InterPlanetary Building Blocks (Optional)
29 |
30 | {{< youtube 3BgHJbjqbNg >}}
31 |
--------------------------------------------------------------------------------
/content/en/curriculum/getting-started/github-guide/fork-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/getting-started/github-guide/fork-1.png
--------------------------------------------------------------------------------
/content/en/curriculum/getting-started/github-guide/fork-10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/getting-started/github-guide/fork-10.png
--------------------------------------------------------------------------------
/content/en/curriculum/getting-started/github-guide/fork-11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/getting-started/github-guide/fork-11.png
--------------------------------------------------------------------------------
/content/en/curriculum/getting-started/github-guide/fork-12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/getting-started/github-guide/fork-12.png
--------------------------------------------------------------------------------
/content/en/curriculum/getting-started/github-guide/fork-13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/getting-started/github-guide/fork-13.png
--------------------------------------------------------------------------------
/content/en/curriculum/getting-started/github-guide/fork-13a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/getting-started/github-guide/fork-13a.png
--------------------------------------------------------------------------------
/content/en/curriculum/getting-started/github-guide/fork-14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/getting-started/github-guide/fork-14.png
--------------------------------------------------------------------------------
/content/en/curriculum/getting-started/github-guide/fork-15.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/getting-started/github-guide/fork-15.png
--------------------------------------------------------------------------------
/content/en/curriculum/getting-started/github-guide/fork-2a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/getting-started/github-guide/fork-2a.png
--------------------------------------------------------------------------------
/content/en/curriculum/getting-started/github-guide/fork-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/getting-started/github-guide/fork-3.png
--------------------------------------------------------------------------------
/content/en/curriculum/getting-started/github-guide/fork-3a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/getting-started/github-guide/fork-3a.png
--------------------------------------------------------------------------------
/content/en/curriculum/getting-started/github-guide/fork-4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/getting-started/github-guide/fork-4.png
--------------------------------------------------------------------------------
/content/en/curriculum/getting-started/github-guide/fork-6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/getting-started/github-guide/fork-6.png
--------------------------------------------------------------------------------
/content/en/curriculum/getting-started/github-guide/fork-7a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/getting-started/github-guide/fork-7a.png
--------------------------------------------------------------------------------
/content/en/curriculum/getting-started/github-guide/fork-8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/getting-started/github-guide/fork-8.png
--------------------------------------------------------------------------------
/content/en/curriculum/getting-started/github-guide/fork-8a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/getting-started/github-guide/fork-8a.png
--------------------------------------------------------------------------------
/content/en/curriculum/getting-started/github-guide/fork-9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/getting-started/github-guide/fork-9.png
--------------------------------------------------------------------------------
/content/en/curriculum/getting-started/github-guide/forkfile-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/getting-started/github-guide/forkfile-1.png
--------------------------------------------------------------------------------
/content/en/curriculum/getting-started/github-guide/forkfile-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/getting-started/github-guide/forkfile-2.png
--------------------------------------------------------------------------------
/content/en/curriculum/getting-started/github-guide/forkfile-4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/getting-started/github-guide/forkfile-4.png
--------------------------------------------------------------------------------
/content/en/curriculum/getting-started/github-guide/issue-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/getting-started/github-guide/issue-1.png
--------------------------------------------------------------------------------
/content/en/curriculum/getting-started/github-guide/issue-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/getting-started/github-guide/issue-2.png
--------------------------------------------------------------------------------
/content/en/curriculum/getting-started/github-guide/issue-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/getting-started/github-guide/issue-3.png
--------------------------------------------------------------------------------
/content/en/curriculum/getting-started/github-guide/issue-4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/getting-started/github-guide/issue-4.png
--------------------------------------------------------------------------------
/content/en/curriculum/getting-started/github-guide/issue-5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/getting-started/github-guide/issue-5.png
--------------------------------------------------------------------------------
/content/en/curriculum/getting-started/levels.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/getting-started/levels.png
--------------------------------------------------------------------------------
/content/en/curriculum/getting-started/objectives.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Getting Started"
3 | description: "How to get started with the self-guided Launchpad curriculum."
4 | draft: false
5 | menu:
6 | curriculum:
7 | parent: "curriculum-intro"
8 | category: lecture
9 | weight: 10
10 | level:
11 | - shallow
12 | - deep
13 | ---
14 |
15 | This is how you get started with the self-guided Launchpad curriculum.
16 |
17 | ## What is it?
18 |
19 | The Launchpad covers topics related to Protocol Labs technologies and the wider
20 | web3 ecosystem as a whole. It is heavier on topics like decentralized file
21 | storage and peer-to-peer, but does have some coverage of blockchains and other
22 | web3 technologies.
23 |
24 | ## Sections
25 |
26 | The Launchpad curriculum is split into these topic areas:
27 |
28 | - Web3 Basics
29 | - The Protocol Labs Network
30 | - IPFS -- peer-to-peer data storage and sharing
31 | - Filecoin -- incentivized decentralized file storage
32 | - IPLD -- data-model for content addressed data
33 | - libp2p -- universal peer-to-peer networking library
34 |
35 | ## Depth Levels
36 |
37 | There are two study levels: Shallow and Deep. You select a desired level by
38 | choosing from the menu in the upper right. Some advanced sections will
39 | disappear when you select "deep".
40 |
41 | 
42 |
43 | ## Study approach
44 |
45 | 1. Read through the material.
46 | 2. Watch the reference videos either as you go or at the end.
47 | 3. Once you've read and watched, you are then ready to view on of our recorded
48 | Q&A sessions. In the past we would host live sessions with engineers who would
49 | talk about the technologies and answer questions. We have some of those
50 | recorded and linked for you to watch.
51 | 4. At this point you have completed everything for the async course. Your next step
52 | can be to reach out in Filecoin Slack if you have questions. Go to github
53 | and check out the associated repos. There are issues tagged as good starting tasks, if
54 | you want to start contributing.
55 |
--------------------------------------------------------------------------------
/content/en/curriculum/ipfs/additional-learning.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Additional Learning"
3 | description: "Deeper Learning and Context to Prepare you for Web3"
4 | draft: false
5 | menu:
6 | curriculum:
7 | parent: "curriculum-ipfs"
8 | category: lecture
9 | weight: 150
10 | level:
11 | - shallow
12 | - deep
13 | ---
14 |
15 | #### The Lifecycle of Data in DWeb | IPFS Camp 2019
16 |
17 | {{< youtube ldEDa6_CT7k >}}
18 |
19 | #### IPFS Basics + Tools | ETHGlobal & Juan Benet
20 |
21 |
22 |
23 | {{< youtube ldEDa6_CT7k >}}
24 |
25 | ## Distributed Systems Course
26 |
27 | - **MIT Distributed Systems Course**
28 | - MIT 6.824 Course [Schedule & Resources](https://pdos.csail.mit.edu/6.824/schedule.html)
29 | - MIT 6.824 [Distributed Systems Course](https://pdos.csail.mit.edu/6.824/)
30 | - Course [Schedule & Resources](https://pdos.csail.mit.edu/6.824/schedule.html)
31 | - [Labs - Implementing distributed systems in Go](https://ipfs.io/ipfs/Qmcri6S86LuivUY4FDcM1phu5REXcFYootxn1GsRoqnFN4/)
32 |
33 | ## Learn Go
34 |
35 | - [A Tour of Go](https://go.dev/tour/welcome/1) is the comprehensive must-have first stop for learning golang
36 | - [Effective Go](https://go.dev/doc/effective_go) is a comprehensive manual
37 | - [Go Comments and Conventions](https://github.com/golang/go/wiki/CodeReviewComments) is a supplement
38 | - [Functional Options for friendly APIS](https://dave.cheney.net/2014/10/17/functional-options-for-friendly-apis)
39 | - [Slice Tricks for Go](https://github.com/golang/go/wiki/SliceTricks)
40 | - PLs [Distributed Systems Curriculum (with Golang)](https://docs.google.com/document/d/18mlkt3JPHP2eSeDOeCE0wafnLKv95Taj0rDh0NIus3Y/edit#heading=h.l73q2rxlx59z). Includes a tutorial on debugging and lots of good coding exercises for learning distributed systems with Go
41 |
42 | ## Computer Networks
43 |
44 | - [Coursera on _The Bits and Bytes of Computer Networking_](https://www.coursera.org/learn/computer-networking)
45 | - MIT Press book on [_Designing an Internet_](https://mitpress.mit.edu/books/designing-internet)
46 | - **Summary:** _Why the Internet was designed to be the way it is, and how it could be different, now and in the future._
47 |
48 | ## IPFS History
49 |
50 | #### IPFS Intro & Welcome | Molly Mackinlay
51 |
52 |
53 |
54 | {{< youtube rYD2lfuatJM >}}
55 |
56 |
57 |
58 | #### Files API Coffee Talk | Jeromy Johnson
59 |
60 |
61 |
62 | {{< youtube FX_AXNDsZ9k >}}
63 |
64 | #### Bitswap Coffee Talk | Jeromy Johnson
65 |
66 |
67 |
68 | {{< youtube 9UjqJTCg_h4 >}}
69 |
70 | #### Links
71 |
72 | **IPFS** | [Docs](https://docs.ipfs.io) | [GitHub](https://github.com/ipfs) - **IPLD** | [Docs](https://ipld.io/docs/) | [GitHub](https://github.com/ipld) - **libp2p** | [Docs](https://docs.libp2p.io) | [GitHub](https://github.com/libp2p) - **Filecoin** | [Docs](https://docs.filecoin.io) | [GitHub](https://github.com/filecoin-project)
73 |
--------------------------------------------------------------------------------
/content/en/curriculum/ipfs/content-addressing/location-vs-content.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/ipfs/content-addressing/location-vs-content.png
--------------------------------------------------------------------------------
/content/en/curriculum/ipfs/content-addressing/location-vs-content2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/ipfs/content-addressing/location-vs-content2.png
--------------------------------------------------------------------------------
/content/en/curriculum/ipfs/content-addressing/pinning.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/ipfs/content-addressing/pinning.png
--------------------------------------------------------------------------------
/content/en/curriculum/ipfs/data-exchange/file-dag.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/ipfs/data-exchange/file-dag.png
--------------------------------------------------------------------------------
/content/en/curriculum/ipfs/data-exchange/graphsync-selector.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/ipfs/data-exchange/graphsync-selector.png
--------------------------------------------------------------------------------
/content/en/curriculum/ipfs/data-exchange/ledger.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/ipfs/data-exchange/ledger.png
--------------------------------------------------------------------------------
/content/en/curriculum/ipfs/data-exchange/want-block-flow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/ipfs/data-exchange/want-block-flow.png
--------------------------------------------------------------------------------
/content/en/curriculum/ipfs/data-exchange/want-have-flow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/ipfs/data-exchange/want-have-flow.png
--------------------------------------------------------------------------------
/content/en/curriculum/ipfs/introduction/IPFS_dist_cent.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/ipfs/introduction/IPFS_dist_cent.png
--------------------------------------------------------------------------------
/content/en/curriculum/ipfs/ipfs-resources/ecosystem.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/ipfs/ipfs-resources/ecosystem.png
--------------------------------------------------------------------------------
/content/en/curriculum/ipfs/mutable-content/pinning.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/ipfs/mutable-content/pinning.png
--------------------------------------------------------------------------------
/content/en/curriculum/ipfs/objectives/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Learning Objectives"
3 | description: "Learning goals for the IPFS module"
4 | draft: false
5 | menu:
6 | curriculum:
7 | parent: "curriculum-ipfs"
8 | identifier: "IPFS-objectives"
9 | weight: 10
10 | category: lecture
11 | level:
12 | - shallow
13 | - deep
14 | objectives:
15 | show: true
16 | showTitle: false
17 | introPage: true
18 | ---
19 |
20 |
21 | **IPFS** stands for **I**nter**P**lanetary **F**ile **S**ystem.
22 |
23 | IPFS is a distributed system for storing and accessing files, websites, applications, and data. Read more about how this works [in the docs](https://docs.ipfs.io/concepts/what-is-ipfs/).
24 |
25 | IPFS aims to [decentralize the web](https://docs.ipfs.io/concepts/what-is-ipfs/#decentralization) and connects people to information using [content addressing](https://docs.ipfs.io/concepts/what-is-ipfs/#content-addressing) instead of URLs and servers.
26 |
27 | The mission of **IPFS** is to create a resilient, upgradable, open network to preserve and grow humanity's knowledge.
28 |
29 | 
30 |
--------------------------------------------------------------------------------
/content/en/curriculum/ipfs/objectives/ipfs-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/ipfs/objectives/ipfs-logo.png
--------------------------------------------------------------------------------
/content/en/curriculum/ipfs/past-recorded-sessions.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: IPFS Shallow and Deep Dive Sessions"
3 | description: "Introductory, Shallow & Deep Dives into IPFS"
4 | draft: false
5 | menu:
6 | curriculum:
7 | parent: "curriculum-ipfs"
8 | weight: 80
9 | category: lecture
10 | ---
11 |
12 | ## IPFS Shallow Dive
13 |
14 | This Shallow Dive explores the core topics of IPFS including content addressing, routing, and transferring, and looks at a few IPFS implementations.
15 |
16 | {{< youtube sElVUVUbho0>}}
17 |
18 | {{< embed src="https://docs.google.com/presentation/d/e/2PACX-1vQ_TUBs9E4eByZDsdQqHaTYNDBeuo3lOcs7cZyliNM_IRZbrdqwwqOl7l_Tu5BUoN1D2YNtHMV8FJLs/embed?start=false&loop=false&delayms=3000" frameborder="0" width="100%" height="500" allowfullscreen="true" mozallowfullscreen="true" webkitallowfullscreen="true" >}}
19 | IPFS Shallow Dive (3/23/23)
20 |
21 | ## IPFS Deep Dive
22 |
23 | The IPFS Deep Dive is a Q&A format discussion on the more technically complex aspects of IPFS.
24 | {{< youtube BmnWobcHQJE>}}
25 | IPFS Deep Dive (6/15/23)
26 |
--------------------------------------------------------------------------------
/content/en/curriculum/ipfs/subsystems-architecture/go-ipfs-subsystems.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/ipfs/subsystems-architecture/go-ipfs-subsystems.png
--------------------------------------------------------------------------------
/content/en/curriculum/ipfs/subsystems-architecture/meme-Unixfs-cid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/ipfs/subsystems-architecture/meme-Unixfs-cid.png
--------------------------------------------------------------------------------
/content/en/curriculum/ipfs/subsystems-architecture/root-cid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/ipfs/subsystems-architecture/root-cid.png
--------------------------------------------------------------------------------
/content/en/curriculum/ipfs/unixfs/blocks-detailed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/ipfs/unixfs/blocks-detailed.png
--------------------------------------------------------------------------------
/content/en/curriculum/ipfs/unixfs/blocks.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/ipfs/unixfs/blocks.png
--------------------------------------------------------------------------------
/content/en/curriculum/ipfs/unixfs/file-structure.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/ipfs/unixfs/file-structure.png
--------------------------------------------------------------------------------
/content/en/curriculum/ipfs/unixfs/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "UnixFS"
3 | description: "An introduction to UnixFS"
4 | draft: false
5 | menu:
6 | curriculum:
7 | parent: "curriculum-ipfs"
8 | weight: 70
9 | category: lecture
10 | level:
11 | - deep
12 | objectives:
13 | show: true
14 | goals:
15 | - 1.6
16 | subgoals:
17 | - 1.61
18 | - 1.62
19 | - 1.63
20 | ---
21 |
22 | ## Introducing UnixFS
23 | By now, you already know that files and directories in IPFS are represented as Merkle DAGs. This means that the data of large files are split across several blocks. Every block needs to have some metadata that identifies what kind of data it holds. For example, consider the following directory.
24 |
25 | 
26 |
27 | Usually, directories and small files fit into just one block. However, large files are split across several blocks, which are linked.
28 |
29 | 
30 |
31 | The two directories, and the `elephant.png` file, are small enough to fit into their own block. However, the `cat.jpg` file requires three blocks. When you read the blocks, it is necessary to have some information about every block, such as type (directory, file,...), size or data. IPFS uses [UnixFS](https://docs.ipfs.tech/concepts/file-systems/#unix-file-system-unixfs) to provide information for every block.
32 |
33 | 
34 |
35 | The first block of the `cat.jpg` file is marked as `type: file`, because it is the starting block of the file. The remaining blocks are marked as `type: raw`, because they only contain data.
36 |
37 | ## Technical Implementation
38 | In technical terms, UnixFS is a [protobuf-based](https://developers.google.com/protocol-buffers) format, which is represented by the following protobuf:
39 |
40 | ```go
41 | message Data {
42 | enum DataType {
43 | Raw = 0;
44 | Directory = 1;
45 | File = 2;
46 | Metadata = 3;
47 | Symlink = 4;
48 | HAMTShard = 5;
49 | }
50 |
51 | required DataType Type = 1;
52 | optional bytes Data = 2;
53 | optional uint64 filesize = 3;
54 | repeated uint64 blocksizes = 4;
55 | optional uint64 hashType = 5;
56 | optional uint64 fanout = 6;
57 | optional uint32 mode = 7;
58 | optional UnixTime mtime = 8;
59 | }
60 |
61 | message Metadata {
62 | optional string MimeType = 1;
63 | }
64 |
65 | message UnixTime {
66 | required int64 Seconds = 1;
67 | optional fixed32 FractionalNanoseconds = 2;
68 | }
69 | ```
70 |
71 | * Files with a single block:
72 | - `DataType` is set to `File`
73 | - `Data` holds the content of the file
74 | - `filesize` contains the total number of bytes of the file
75 |
76 | * Files with several blocks:
77 | - `DataType` is set to `File` in the first block, and `Raw` in he remaining blocks
78 | - `filesize` contains the total number of bytes of the file
79 | - `blocksizes` list of sizes of every child node
80 |
81 | Later in the curriculum, you will learn how UnixFS is related to IPLD. You can also get more information in the [official specification](https://github.com/ipfs/specs/blob/main/UNIXFS.md).
82 |
--------------------------------------------------------------------------------
/content/en/curriculum/ipfs/who-uses-ipfs/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Who Uses IPFS"
3 | description: "Other Organizations and our Ecosystem"
4 | draft: false
5 | menu:
6 | curriculum:
7 | parent: "curriculum-ipfs"
8 | weight: 165
9 | category: lecture
10 | draft: true
11 | level:
12 | - shallow
13 | - deep
14 | ---
15 |
16 | ## The Ecosystem
17 |
18 |
19 |
20 | **[The Ecosystem Directory](https://ecosystem.ipfs.io/)**
21 |
22 | Use the filters on the ecosystem directory page to explore projects by what they do, the industry, and which tooling (such as IPFS, Filecoin, kubo) to better understand what makes up the ecosystem.
23 |
24 | 
25 |
26 |
27 | ## Brave for Browsing
28 |
29 | IPFS has been integrated into Brave, the fast, privacy-oriented browser, reinventing the Web for users, publishers and advertisers.
30 |
31 | - [January 19, 2021: Brave Integrates IPFS](https://brave.com/brave-integrates-ipfs/)
32 |
33 | **[IPFS Support in Brave](https://brave.com/ipfs-support/)**
34 | _Brian Bondy, CTO and co-founder of Brave, January 19, 2021_
35 |
--------------------------------------------------------------------------------
/content/en/curriculum/ipld/content-addressing-cids/cid-anatomy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/ipld/content-addressing-cids/cid-anatomy.png
--------------------------------------------------------------------------------
/content/en/curriculum/ipld/content-addressing-cids/cids.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/ipld/content-addressing-cids/cids.png
--------------------------------------------------------------------------------
/content/en/curriculum/ipld/introduction/tree_graph.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/ipld/introduction/tree_graph.png
--------------------------------------------------------------------------------
/content/en/curriculum/ipld/ipld-and-ipfs/unixfs_addon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/ipld/ipld-and-ipfs/unixfs_addon.png
--------------------------------------------------------------------------------
/content/en/curriculum/ipld/merkle-dags/mutability.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/ipld/merkle-dags/mutability.png
--------------------------------------------------------------------------------
/content/en/curriculum/ipld/merkle-dags/overview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/ipld/merkle-dags/overview.png
--------------------------------------------------------------------------------
/content/en/curriculum/ipld/merkle-dags/treevstree.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/ipld/merkle-dags/treevstree.png
--------------------------------------------------------------------------------
/content/en/curriculum/ipld/objectives/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Learning Objectives"
3 | description: "Learning goals for the IPLD module"
4 | draft: false
5 | menu:
6 | curriculum:
7 | parent: "curriculum-ipld"
8 | identifier: "IPLD-objectives"
9 | weight: 175
10 | category: lecture
11 | level:
12 | - shallow
13 | - deep
14 | objectives:
15 | show: true
16 | showTitle: false
17 | introPage: true
18 | ---
19 |
20 | [IPLD (InterPlanetary Linked Data) is **The Data Layer for content-addressed systems**](https://blog.ipfs.io/what-is-ipld/). It deals with all the heavy lifting in IPFS; it represents data as Merkle-DAGs with roots identified by content IDs called **CIDs**.
21 |
22 |
23 | ## How is IPLD related to IPFS?
24 |
25 | IPLD is the data layer of IPFS. But the reverse is also true because IPFS is _a_ block store for IPLD.
26 |
27 | IPLD deals with data consistency, data addressing, data relationships (graphs), content addressed data structures, data navigation and more.
28 |
29 | IPLD is generally not concerned about data storage or transports (with some caveats).
30 |
31 | IPLD does not limit itself to peer to peer systems (Amazon S3 can be a perfectly reasonable IPLD block storage system!), but in general we think peer to peer is preferable!
32 |
33 | 
34 |
35 |
--------------------------------------------------------------------------------
/content/en/curriculum/ipld/objectives/ipld-summary.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/ipld/objectives/ipld-summary.png
--------------------------------------------------------------------------------
/content/en/curriculum/ipld/past-recorded-sessions.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "IPLD Shallow and Deep Sessions"
3 | description: "Introductory, Shallow & Deep Dives into IPLD"
4 | draft: false
5 | menu:
6 | curriculum:
7 | parent: "curriculum-ipld"
8 | weight: 275
9 | category: lecture
10 | ---
11 |
12 | ## IPLD Shallow Dive
13 |
14 | This Shallow Dive explores the core topics of IPLD including content-address structured data, multihashes, IPLD pathing, and some use cases.
15 |
16 | {{< youtube nxyQVGy6_mI>}}
17 | IPLD Shallow Dive (3/9/23)
18 |
19 | ## IPLD Deep Dive
20 |
21 | The IPLD Deep Dive is a Q&A format discussion on the more technically complex aspects of IPLD.
22 | {{< youtube VKvGg5cVppU>}}
23 | IPLD Deep Dive (10/11/22)
24 |
--------------------------------------------------------------------------------
/content/en/curriculum/ipld/the-car-format/intro.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/ipld/the-car-format/intro.png
--------------------------------------------------------------------------------
/content/en/curriculum/ipld/the-car-format/summary.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/ipld/the-car-format/summary.png
--------------------------------------------------------------------------------
/content/en/curriculum/libp2p/connections/peer-id.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/libp2p/connections/peer-id.png
--------------------------------------------------------------------------------
/content/en/curriculum/libp2p/connections/streams.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/libp2p/connections/streams.png
--------------------------------------------------------------------------------
/content/en/curriculum/libp2p/core-concepts/nat.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/libp2p/core-concepts/nat.png
--------------------------------------------------------------------------------
/content/en/curriculum/libp2p/core-concepts/peering.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/libp2p/core-concepts/peering.png
--------------------------------------------------------------------------------
/content/en/curriculum/libp2p/dht/libp2p-dht-distances.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/libp2p/dht/libp2p-dht-distances.png
--------------------------------------------------------------------------------
/content/en/curriculum/libp2p/dht/libp2p-dht-findnode.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/libp2p/dht/libp2p-dht-findnode.png
--------------------------------------------------------------------------------
/content/en/curriculum/libp2p/dht/libp2p-dht-flow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/libp2p/dht/libp2p-dht-flow.png
--------------------------------------------------------------------------------
/content/en/curriculum/libp2p/dht/libp2p-dht-store.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/libp2p/dht/libp2p-dht-store.png
--------------------------------------------------------------------------------
/content/en/curriculum/libp2p/nat-traversal/circuit-relay.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/libp2p/nat-traversal/circuit-relay.png
--------------------------------------------------------------------------------
/content/en/curriculum/libp2p/nat-traversal/nat.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/libp2p/nat-traversal/nat.png
--------------------------------------------------------------------------------
/content/en/curriculum/libp2p/objectives/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Learning Objectives"
3 | description: "Summary and Learning Goals"
4 | draft: false
5 | menu:
6 | curriculum:
7 | parent: "curriculum-libp2p"
8 | identifier: "libp2p-objectives"
9 | weight: 10
10 | category: lecture
11 | level:
12 | - shallow
13 | - deep
14 | objectives:
15 | show: true
16 | showTitle: false
17 | introPage: true
18 | ---
19 |
20 | **libp2p is the networking & communication layer** for IPFS. [Visit the main website](https://libp2p.io/) for resources and information.
21 |
22 | Moving from a location-addressed system to a peer-to-peer, content addressed system presents a lot of challenges. The internet as it is, with firewalls and NATs, was designed to provide data (securely) for the traditional Web2 systems.
23 |
24 | libp2p is a modular system of *protocols*, *specifications* and *libraries* that enable the development of peer-to-peer network applications. Because of the way libp2p is architected, a lot of the needs and considerations that the web2 network was built on no longer apply.
25 |
26 | **[See the Implementations and Bundles](https://libp2p.io/implementations/)** for all of the libraries of modules you can use and bundles for different use cases available in various languages.
27 |
28 | 
29 |
--------------------------------------------------------------------------------
/content/en/curriculum/libp2p/objectives/overview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/libp2p/objectives/overview.png
--------------------------------------------------------------------------------
/content/en/curriculum/libp2p/past-recorded-sessions.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Libp2p Shallow and Deep Dive Sessions"
3 | description: "Introductory, Shallow & Deep Dives into libp2p"
4 | draft: false
5 | menu:
6 | curriculum:
7 | parent: "curriculum-libp2p"
8 | weight: 170
9 | category: lecture
10 | ---
11 |
12 | ## libp2p Shallow Dive
13 |
14 | This Shallow Dive explores the core topics of libp2p including transports, multiplexers, peer routing, implementations, and more!
15 |
16 | {{< youtube FzUcCOswxCI>}}
17 | libp2p Shallow Dive (3/9/23)
18 |
19 | ## libp2p Deep Dive
20 |
21 | The libp2p Deep Dive is a Q&A format discussion on the more technically complex aspects of libp2p.
22 | {{< youtube Tr31-VqsRYs>}}
23 | libp2p Deep Dive (10/11/22)
24 |
--------------------------------------------------------------------------------
/content/en/curriculum/libp2p/pubsub/floodsub.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/libp2p/pubsub/floodsub.png
--------------------------------------------------------------------------------
/content/en/curriculum/pln/objectives/PLN_Logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/pln/objectives/PLN_Logo.png
--------------------------------------------------------------------------------
/content/en/curriculum/pln/objectives/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Learning Objectives"
3 | description: "Summary and Learning Goals"
4 | draft: false
5 | menu:
6 | curriculum:
7 | parent: "curriculum-pln"
8 | identifier: "pln-objectives"
9 | weight: 1
10 | category: lecture
11 | level:
12 | - shallow
13 | - deep
14 | objectives:
15 | show: true
16 | showTitle: false
17 | introPage: true
18 | ---
19 |
20 | This section of the curriculum is all about who Protocol Labs is, as an oganization, and the different pieces that make up our network. Here you will find resources to learn about the goals and mission that unite us across organizations, the many teams and individuals that contribute to the new web3 primitives, protocols, and tools we're creating, and begin to learn about how we operate.
21 | 
22 |
23 | ### Protocol Labs Vision & Mission
24 |
25 | Protocol Labs drives breakthroughs in computing to push humanity forward.
26 |
27 | **How?**
28 |
29 | * Ideas to super-powers **pipeline.**
30 | * A **network** capable of repeatable innovation.
31 | * World-class **teams** & **network**.
32 | * Network **enables** teams to be super effective.
33 | * Create, support, and grow **projects & protocols**.
34 | * Build **crypto networks** and **businesses**.
35 | * **Open Source** all the things \o/.
36 | * **Collaborate** openly with many groups.
37 |
38 | After completing this section, you will also:
39 |
40 | **Understand**
41 |
42 | * The motivations and original goals that brought about IPFS, libp2p, Filecoin etc, and how these have evolved to the present day.
43 | * What OSS projects are part of the PL Stack and what other projects, tools, and resources are being created in the PLN ecosystem.
44 |
45 | **Be Able To**
46 |
47 | * Find where communication about different open source projects is carried out (IPFS, IPLD, LibP2P, and Filecoin) and how decisions are made about the work that will be done.
48 | * Communicate the core goals of Protocol Labs as an organization as a whole, as well as the goals of some of the projects they work on.
49 | * Demonstrate use of async and open source communication by establishing public facing methods to share the outputs of your work and appropriate outreach, documentation, and communication with other Launchpad Cadets and Labbers.
50 |
51 | #### Links
52 |
53 | **IPFS** | [Docs](https://docs.ipfs.io) | [GitHub](https://github.com/ipfs) - **IPLD** | [Docs](https://ipld.io/docs/) | [GitHub](https://github.com/ipld) - **libp2p** | [Docs](https://docs.libp2p.io) | [GitHub](https://github.com/libp2p) - **Filecoin** | [Docs](https://docs.filecoin.io) | [GitHub](https://github.com/filecoin-project)
54 |
--------------------------------------------------------------------------------
/content/en/curriculum/pln/pln-resources.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Quiz & Resources"
3 | description: "Explore beyond the curriculum"
4 | draft: false
5 | menu:
6 | curriculum:
7 | parent: "curriculum-pln"
8 | identifier: "pln-resources"
9 | weight: 62
10 | category: lecture
11 | level:
12 | - shallow
13 | - deep
14 | ---
15 | ## PLN Quiz
16 |
17 | Take the [**PLN Quiz**](https://docs.google.com/forms/d/e/1FAIpQLSfin7rDiiBqV9ybs1gV-n4hEv4bXmhanmf13Czd_zvDEHIsLw/viewform?usp=sf_link) after covering the PLN module to gauge your understanding.
18 |
19 | {{< embed src="https://docs.google.com/forms/d/e/1FAIpQLSfin7rDiiBqV9ybs1gV-n4hEv4bXmhanmf13Czd_zvDEHIsLw/viewform?usp=sf_link" width="100%" height="900px" >}}
20 |
21 | ## PLN Resources
22 | * Overview
23 | * [Mission & Vision](https://protocol.almanac.io/handbook/protocol-labs-spaceport-JzKymu/mission-vision-vZcRfsOWSGzq8tUU4eHl5T1C0Jd4Xut1)
24 | * [Brief History](https://protocol.almanac.io/handbook/protocol-labs-spaceport-JzKymu/a-brief-history-0UbS7Ki4gwG0Btygfpzk5PYtGfjXiBvI)
25 | * Organizational Resources
26 | * [Starfleet Org Chart](https://www.notion.so/pl-strflt/Org-Charts-9b835d45729c4a5ba7b525005c8ab348)
27 | * [PL Talent Funnel Teams](https://www.notion.so/pl-strflt/Talent-Funnel-Teams-e8bb11d5d7f64c8b84bafdce7d33af01)
28 | * [PL EngRes Teams](https://www.notion.so/pl-strflt/PL-EngRes-Public-b5086aea86ed4f81bc7d0721c6935e1e#ea84996cf3464c53bf3119a7015f9dd5)
29 | * [Spaceport Teams](https://coda.io/d/Protocol-Labs-Spaceport_dDpJBnYeqJb/Team-and-Roles_suZpq#_luQNt)
30 | * [PLN Member Directory](https://protocol.almanac.io/handbook/protocol-labs-spaceport-JzKymu/84TYCGFm9s07JuPfNqpvCXWDLgK1EAhU)
31 | * [Mosia](https://www.mosaia.io/)
32 |
33 |
34 | **[PLN Glossary](https://protocol.almanac.io/handbook/protocol-labs-spaceport-JzKymu/glossary-ycx3uRbXUM3d7uf1EBz89msUmb1UjzR7)**
35 |
36 |
37 | **Links**
38 |
39 | **IPFS** | [Docs](https://docs.ipfs.io) | [GitHub](https://github.com/ipfs) - **IPLD** | [Docs](https://ipld.io/docs/) | [GitHub](https://github.com/ipld) - **libp2p** | [Docs](https://docs.libp2p.io) | [GitHub](https://github.com/libp2p) - **Filecoin** | [Docs](https://docs.filecoin.io) | [GitHub](https://github.com/filecoin-project)
40 |
41 |
43 |
--------------------------------------------------------------------------------
/content/en/curriculum/pln/teams-in-pl/companies.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/pln/teams-in-pl/companies.png
--------------------------------------------------------------------------------
/content/en/curriculum/pln/teams-in-pl/ecosystem.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/pln/teams-in-pl/ecosystem.png
--------------------------------------------------------------------------------
/content/en/curriculum/pln/teams-in-pl/engres-2022.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/pln/teams-in-pl/engres-2022.png
--------------------------------------------------------------------------------
/content/en/curriculum/pln/teams-in-pl/pln-page.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/pln/teams-in-pl/pln-page.png
--------------------------------------------------------------------------------
/content/en/curriculum/pln/teams-in-pl/projects.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/pln/teams-in-pl/projects.png
--------------------------------------------------------------------------------
/content/en/curriculum/pln/what-is-pl/network.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/pln/what-is-pl/network.png
--------------------------------------------------------------------------------
/content/en/curriculum/pln/what-is-pl/research-pipeline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/pln/what-is-pl/research-pipeline.png
--------------------------------------------------------------------------------
/content/en/curriculum/pln/what-is-pl/web3-stack.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/pln/what-is-pl/web3-stack.png
--------------------------------------------------------------------------------
/content/en/curriculum/pln/where-we-headed/filecoin_logos.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/pln/where-we-headed/filecoin_logos.png
--------------------------------------------------------------------------------
/content/en/curriculum/pln/where-we-headed/pl_projects.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/pln/where-we-headed/pl_projects.png
--------------------------------------------------------------------------------
/content/en/curriculum/web3/blockchains/blockchain1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/web3/blockchains/blockchain1.png
--------------------------------------------------------------------------------
/content/en/curriculum/web3/blockchains/blockchain2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/web3/blockchains/blockchain2.png
--------------------------------------------------------------------------------
/content/en/curriculum/web3/objectives/web1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/web3/objectives/web1.png
--------------------------------------------------------------------------------
/content/en/curriculum/web3/objectives/web2-li.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/web3/objectives/web2-li.png
--------------------------------------------------------------------------------
/content/en/curriculum/web3/objectives/web3.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/web3/objectives/web3.jpeg
--------------------------------------------------------------------------------
/content/en/curriculum/web3/scaling/avalanche.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/web3/scaling/avalanche.png
--------------------------------------------------------------------------------
/content/en/curriculum/web3/scaling/cosmos.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/web3/scaling/cosmos.png
--------------------------------------------------------------------------------
/content/en/curriculum/web3/scaling/filecoin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/web3/scaling/filecoin.png
--------------------------------------------------------------------------------
/content/en/curriculum/web3/scaling/flow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/web3/scaling/flow.png
--------------------------------------------------------------------------------
/content/en/curriculum/web3/scaling/near.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/web3/scaling/near.png
--------------------------------------------------------------------------------
/content/en/curriculum/web3/scaling/polkadot-anatomy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/web3/scaling/polkadot-anatomy.png
--------------------------------------------------------------------------------
/content/en/curriculum/web3/scaling/polkadot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/web3/scaling/polkadot.png
--------------------------------------------------------------------------------
/content/en/curriculum/web3/scaling/solana.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/web3/scaling/solana.png
--------------------------------------------------------------------------------
/content/en/curriculum/web3/smart-contracts/beeple.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/web3/smart-contracts/beeple.png
--------------------------------------------------------------------------------
/content/en/curriculum/web3/smart-contracts/blur.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/web3/smart-contracts/blur.png
--------------------------------------------------------------------------------
/content/en/curriculum/web3/smart-contracts/bored-ape.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/web3/smart-contracts/bored-ape.png
--------------------------------------------------------------------------------
/content/en/curriculum/web3/smart-contracts/crypto-kitties.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/web3/smart-contracts/crypto-kitties.png
--------------------------------------------------------------------------------
/content/en/curriculum/web3/smart-contracts/crypto-punks.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/web3/smart-contracts/crypto-punks.png
--------------------------------------------------------------------------------
/content/en/curriculum/web3/smart-contracts/dapp-visualization.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/web3/smart-contracts/dapp-visualization.png
--------------------------------------------------------------------------------
/content/en/curriculum/web3/smart-contracts/defi.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/web3/smart-contracts/defi.png
--------------------------------------------------------------------------------
/content/en/curriculum/web3/smart-contracts/loot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/web3/smart-contracts/loot.png
--------------------------------------------------------------------------------
/content/en/curriculum/web3/smart-contracts/nba-top-shots.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/web3/smart-contracts/nba-top-shots.png
--------------------------------------------------------------------------------
/content/en/curriculum/web3/smart-contracts/nft-history.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/web3/smart-contracts/nft-history.png
--------------------------------------------------------------------------------
/content/en/curriculum/web3/smart-contracts/opensea.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/web3/smart-contracts/opensea.png
--------------------------------------------------------------------------------
/content/en/curriculum/web3/storage/arweave.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/web3/storage/arweave.png
--------------------------------------------------------------------------------
/content/en/curriculum/web3/storage/filecoin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/web3/storage/filecoin.png
--------------------------------------------------------------------------------
/content/en/curriculum/web3/storage/storj.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/web3/storage/storj.png
--------------------------------------------------------------------------------
/content/en/curriculum/web3/wallets/wallet-landscape.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/web3/wallets/wallet-landscape.png
--------------------------------------------------------------------------------
/content/en/curriculum/web3/wallets/wallet-types.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/curriculum/web3/wallets/wallet-types.png
--------------------------------------------------------------------------------
/content/en/tutorials/fvm/deploying-first-contract/faucet-click-send.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/tutorials/fvm/deploying-first-contract/faucet-click-send.png
--------------------------------------------------------------------------------
/content/en/tutorials/fvm/deploying-first-contract/faucet-metamask-with-funds.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/tutorials/fvm/deploying-first-contract/faucet-metamask-with-funds.png
--------------------------------------------------------------------------------
/content/en/tutorials/fvm/deploying-first-contract/faucet-select-account-in-metamask.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/tutorials/fvm/deploying-first-contract/faucet-select-account-in-metamask.png
--------------------------------------------------------------------------------
/content/en/tutorials/fvm/deploying-first-contract/faucet-transaction-link.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/tutorials/fvm/deploying-first-contract/faucet-transaction-link.png
--------------------------------------------------------------------------------
/content/en/tutorials/fvm/deploying-first-contract/metamask-assets-import-tokens.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/tutorials/fvm/deploying-first-contract/metamask-assets-import-tokens.png
--------------------------------------------------------------------------------
/content/en/tutorials/fvm/deploying-first-contract/metamask-default-wallet.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/tutorials/fvm/deploying-first-contract/metamask-default-wallet.png
--------------------------------------------------------------------------------
/content/en/tutorials/fvm/deploying-first-contract/metamask-import-token.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/tutorials/fvm/deploying-first-contract/metamask-import-token.png
--------------------------------------------------------------------------------
/content/en/tutorials/fvm/deploying-first-contract/metamask-import-tokens-autofil.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/tutorials/fvm/deploying-first-contract/metamask-import-tokens-autofil.png
--------------------------------------------------------------------------------
/content/en/tutorials/fvm/deploying-first-contract/metamask-tokens-finished.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/tutorials/fvm/deploying-first-contract/metamask-tokens-finished.png
--------------------------------------------------------------------------------
/content/en/tutorials/fvm/deploying-first-contract/remix-5000-tfil.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/tutorials/fvm/deploying-first-contract/remix-5000-tfil.png
--------------------------------------------------------------------------------
/content/en/tutorials/fvm/deploying-first-contract/remix-add-address.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/tutorials/fvm/deploying-first-contract/remix-add-address.png
--------------------------------------------------------------------------------
/content/en/tutorials/fvm/deploying-first-contract/remix-add-number.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/tutorials/fvm/deploying-first-contract/remix-add-number.png
--------------------------------------------------------------------------------
/content/en/tutorials/fvm/deploying-first-contract/remix-click-deploy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/tutorials/fvm/deploying-first-contract/remix-click-deploy.png
--------------------------------------------------------------------------------
/content/en/tutorials/fvm/deploying-first-contract/remix-click-transact.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/tutorials/fvm/deploying-first-contract/remix-click-transact.png
--------------------------------------------------------------------------------
/content/en/tutorials/fvm/deploying-first-contract/remix-copy-deploy-address.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/tutorials/fvm/deploying-first-contract/remix-copy-deploy-address.png
--------------------------------------------------------------------------------
/content/en/tutorials/fvm/deploying-first-contract/remix-create-workspace.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/tutorials/fvm/deploying-first-contract/remix-create-workspace.png
--------------------------------------------------------------------------------
/content/en/tutorials/fvm/deploying-first-contract/remix-default-workspace.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/tutorials/fvm/deploying-first-contract/remix-default-workspace.png
--------------------------------------------------------------------------------
/content/en/tutorials/fvm/deploying-first-contract/remix-deploy-button.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/tutorials/fvm/deploying-first-contract/remix-deploy-button.png
--------------------------------------------------------------------------------
/content/en/tutorials/fvm/deploying-first-contract/remix-deployed-contracts-dropdown.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/tutorials/fvm/deploying-first-contract/remix-deployed-contracts-dropdown.png
--------------------------------------------------------------------------------
/content/en/tutorials/fvm/deploying-first-contract/remix-edit-contract.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/tutorials/fvm/deploying-first-contract/remix-edit-contract.png
--------------------------------------------------------------------------------
/content/en/tutorials/fvm/deploying-first-contract/remix-expand-mint-method.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/tutorials/fvm/deploying-first-contract/remix-expand-mint-method.png
--------------------------------------------------------------------------------
/content/en/tutorials/fvm/deploying-first-contract/remix-imported-contracts.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/tutorials/fvm/deploying-first-contract/remix-imported-contracts.png
--------------------------------------------------------------------------------
/content/en/tutorials/fvm/deploying-first-contract/remix-mint-pending.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/tutorials/fvm/deploying-first-contract/remix-mint-pending.png
--------------------------------------------------------------------------------
/content/en/tutorials/fvm/deploying-first-contract/remix-new-workspace.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/tutorials/fvm/deploying-first-contract/remix-new-workspace.png
--------------------------------------------------------------------------------
/content/en/tutorials/fvm/deploying-first-contract/remix-select-contract.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/tutorials/fvm/deploying-first-contract/remix-select-contract.png
--------------------------------------------------------------------------------
/content/en/tutorials/fvm/deploying-first-contract/remix-select-network-dropdown.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/tutorials/fvm/deploying-first-contract/remix-select-network-dropdown.png
--------------------------------------------------------------------------------
/content/en/tutorials/fvm/deploying-first-contract/remix-transaction-pending.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/tutorials/fvm/deploying-first-contract/remix-transaction-pending.png
--------------------------------------------------------------------------------
/content/en/tutorials/fvm/what-is-fvm.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/tutorials/fvm/what-is-fvm.md
--------------------------------------------------------------------------------
/content/en/tutorials/gitpod.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Setting up the environment"
3 | description: "Use go-libp2p to create a new stream of data"
4 | draft: false
5 | weight: 1
6 | category: info
7 | level:
8 | - deep
9 | ---
10 |
11 | dssd
12 |
--------------------------------------------------------------------------------
/content/en/tutorials/ipfs-intro/basics/ipfs-webui.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/tutorials/ipfs-intro/basics/ipfs-webui.png
--------------------------------------------------------------------------------
/content/en/tutorials/ipfs-intro/desktop-tutorial/dekstop3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/tutorials/ipfs-intro/desktop-tutorial/dekstop3.png
--------------------------------------------------------------------------------
/content/en/tutorials/ipfs-intro/desktop-tutorial/desktop1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/tutorials/ipfs-intro/desktop-tutorial/desktop1.png
--------------------------------------------------------------------------------
/content/en/tutorials/ipfs-intro/desktop-tutorial/desktop10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/tutorials/ipfs-intro/desktop-tutorial/desktop10.png
--------------------------------------------------------------------------------
/content/en/tutorials/ipfs-intro/desktop-tutorial/desktop2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/tutorials/ipfs-intro/desktop-tutorial/desktop2.png
--------------------------------------------------------------------------------
/content/en/tutorials/ipfs-intro/desktop-tutorial/desktop4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/tutorials/ipfs-intro/desktop-tutorial/desktop4.png
--------------------------------------------------------------------------------
/content/en/tutorials/ipfs-intro/desktop-tutorial/desktop5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/tutorials/ipfs-intro/desktop-tutorial/desktop5.png
--------------------------------------------------------------------------------
/content/en/tutorials/ipfs-intro/desktop-tutorial/desktop6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/tutorials/ipfs-intro/desktop-tutorial/desktop6.png
--------------------------------------------------------------------------------
/content/en/tutorials/ipfs-intro/desktop-tutorial/desktop7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/tutorials/ipfs-intro/desktop-tutorial/desktop7.png
--------------------------------------------------------------------------------
/content/en/tutorials/ipfs-intro/desktop-tutorial/desktop8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/tutorials/ipfs-intro/desktop-tutorial/desktop8.png
--------------------------------------------------------------------------------
/content/en/tutorials/ipfs-intro/desktop-tutorial/desktop9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/tutorials/ipfs-intro/desktop-tutorial/desktop9.png
--------------------------------------------------------------------------------
/content/en/tutorials/ipld/ipld-pathing/data-links.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/tutorials/ipld/ipld-pathing/data-links.png
--------------------------------------------------------------------------------
/content/en/tutorials/ipld/ipld-pathing/docs-codecs-known.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/tutorials/ipld/ipld-pathing/docs-codecs-known.png
--------------------------------------------------------------------------------
/content/en/tutorials/ipld/ipld-pathing/index-hash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/tutorials/ipld/ipld-pathing/index-hash.png
--------------------------------------------------------------------------------
/content/en/tutorials/ipld/ipld-pathing/ipfs-ipld-pathing2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/tutorials/ipld/ipld-pathing/ipfs-ipld-pathing2.png
--------------------------------------------------------------------------------
/content/en/tutorials/ipld/ipld-pathing/ipld-repo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/tutorials/ipld/ipld-pathing/ipld-repo.png
--------------------------------------------------------------------------------
/content/en/tutorials/ipld/ipld-pathing/link4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/tutorials/ipld/ipld-pathing/link4.png
--------------------------------------------------------------------------------
/content/en/tutorials/libp2p/creating-simple-node/diagram.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/tutorials/libp2p/creating-simple-node/diagram.png
--------------------------------------------------------------------------------
/content/en/tutorials/metamask-intro/create-wallet/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Creating a Wallet"
3 | description: ""
4 | draft: false
5 | menu:
6 | tutorials:
7 | parent: "tutorials-metamask-intro"
8 | weight: 10
9 | category: tutorial
10 | ---
11 |
12 | {{< beforepages text="This tutorial expects you to know what is Metamask and the main aspects of the app. Learn about Metamask in the following introduction page.">}}
13 | {{< beforepages-element page="/tutorials/metamask-intro/what-is-metamask" >}}
14 | {{< /beforepages >}}
15 |
16 | In this tutorial, we will install Metamask and set up a wallet.
17 |
18 | ## Instructions
19 |
20 | 1. Open your browser and visit the [MetaMask website](https://metamask.io/).
21 | 1. Install the wallet by clicking the **Download for** button.
22 | 1. Once you have installed MetaMask, it will open a **Get started** window.
23 |
24 | 
25 |
26 | 1. Follow the prompts until you MetaMask asks if you are **New to MetaMask**.
27 | 1. Because you still need an account on the Filecoin network, select **Create a wallet**.
28 |
29 | 
30 |
31 | 1. Enter a secure password. You will use this password every time you want to open this wallet in this browser.
32 | 1. Click **Next** until you get to the **Secret Recovery Phrase** window. Read the information about what this _recovery phrase_ is on this page.
33 | 1. Once you've followed the instructions and saved your recovery phrase, click **Next**.
34 | 1. Confirm that you saved the recovery phrase correctly by clicking on the words in order.
35 | 1. Once you've done that, you should have your account set up!
36 |
--------------------------------------------------------------------------------
/content/en/tutorials/metamask-intro/create-wallet/metamask-create-new-wallet.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/tutorials/metamask-intro/create-wallet/metamask-create-new-wallet.png
--------------------------------------------------------------------------------
/content/en/tutorials/metamask-intro/create-wallet/metamask-get-started.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/tutorials/metamask-intro/create-wallet/metamask-get-started.png
--------------------------------------------------------------------------------
/content/en/tutorials/metamask-intro/switch-networks/chainlist-allow-site-to-add-a-network.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/tutorials/metamask-intro/switch-networks/chainlist-allow-site-to-add-a-network.png
--------------------------------------------------------------------------------
/content/en/tutorials/metamask-intro/switch-networks/chainlist-complete.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/tutorials/metamask-intro/switch-networks/chainlist-complete.png
--------------------------------------------------------------------------------
/content/en/tutorials/metamask-intro/switch-networks/chainlist-connect-with-metamask.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/tutorials/metamask-intro/switch-networks/chainlist-connect-with-metamask.png
--------------------------------------------------------------------------------
/content/en/tutorials/metamask-intro/switch-networks/chainlist-filecoin-wallaby.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/tutorials/metamask-intro/switch-networks/chainlist-filecoin-wallaby.png
--------------------------------------------------------------------------------
/content/en/tutorials/metamask-intro/switch-networks/chainlist-select-test-networks.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/tutorials/metamask-intro/switch-networks/chainlist-select-test-networks.png
--------------------------------------------------------------------------------
/content/en/tutorials/metamask-intro/switch-networks/chainlist-switch-network.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/tutorials/metamask-intro/switch-networks/chainlist-switch-network.png
--------------------------------------------------------------------------------
/content/en/tutorials/metamask-intro/switch-networks/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Switch Networks"
3 | description: ""
4 | draft: false
5 | menu:
6 | tutorials:
7 | parent: "tutorials-metamask-intro"
8 | weight: 10
9 | category: tutorial
10 | ---
11 |
12 | {{< beforepages text="This tutorial expects you to have a Metamask wallet ready to use. Learn how to create it in the following tutorial.">}}
13 | {{< beforepages-element page="/tutorials/metamask-intro/create-wallet" >}}
14 | {{< /beforepages >}}
15 |
16 | By default, Metamask is connected to the **Ethereum Mainnet**.
17 | If you want to operate with other EVM-compatible tokens, you must **switch the network**.
18 |
19 | **ChainList** ([chainlist.org](https://chainlist.org/)) is a web site that provides public information about EVM networks, such as Filecoin or Polygon.
20 | In the EVM space, every network (mainnet and testnet) receives a _chain ID_, which uniquely identifies the network.
21 |
22 | In this tutorial, we will connect Metamask to the Filecoin network, specifically the _Wallaby testnet_.
23 | Although you can introduce the network details manually, ChainList offers a `Connect Wallet` button to easily add a network to Metamask.
24 |
25 | ## Instructions
26 |
27 | 1. Go to [chainlist.org](https://chainlist.org/).
28 | 1. Enable the **Testnets** toggle and enter `Filecoin` into the search bar.
29 |
30 | 
31 |
32 | 1. Scroll down to find the **Filecoin -- Wallaby** testnet:
33 |
34 | 
35 |
36 | 1. In MetaMask click **Next** and then **Continue** when prompted to connect Chainlist.org to MetaMask:
37 |
38 | 
39 |
40 | 1. Back on the Chainlist.org page, click the **Filecoin -- Wallaby** testnet connect button again.
41 | 1. In MetaMask click **Approve** when prompted to _Allow this site to add a network_:
42 |
43 | 
44 |
45 | 1. Click **Switch network** when prompted by MetaMask:
46 |
47 | 
48 |
49 | 1. Open MetaMask, and you should see that you're now on the Filecoin Wallaby testnet:
50 |
51 | 
52 |
53 | Nice! Now we've got the Filecoin Wallaby testnet set up within MetaMask. You'll notice that our MetaMask window shows `0 TFIL`. Test-filecoin (`TFIL`) is `FIL` that has no value in the _real world_, and developers use it for testing.
54 |
--------------------------------------------------------------------------------
/content/en/tutorials/metamask-intro/what-is-metamask/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "What is Metamask?"
3 | description: ""
4 | draft: false
5 | menu:
6 | tutorials:
7 | parent: "tutorials-metamask-intro"
8 | weight: 1
9 | category: lecture
10 | ---
11 |
12 | **Metamask** is a crypto wallet and a gateway to blockchain apps. A crypto wallet is an address on the blockchain the points to an account that can be used to store and exchange cryptocurrency. There are different things you can use to manage your wallet, and Metamask is an application that makes it easy for applications in your browser to send and receive funds, NFTs, and more to the wallet.
13 | The main feature of Metamask is its browser extension, which is available for Brave, Chrome, Edge, Firefox, and Opera.
14 |
15 | ## The Wallet
16 |
17 | In terms of its wallet, Metamask works similar to any other crypto wallet. When you create a wallet in Metamask, a public/private key pair is generated.
18 | The public key is used to identify you in the blockchain network, and the private key is used to access your funds.
19 |
20 | 
21 |
22 | ### Private Key Management
23 |
24 | Your private key is probably the most important piece of information of any crypto wallet.
25 | For security reasons, Metamask does NOT store your private key remotely.
26 | Your private key is stored in your browser, and is only used by the Metamask app locally to sign transactions.
27 |
28 | Now, consider that a relative wants to use your computer. Without any extra protection, your wallet would be usable by anyone with access to your browser.
29 | To add another security layer, Metamask asks you to create a **password**, which you must provide every time that you want to operate with your funds.
30 |
31 | If you forget your password, you still have an opportunity to recover your funds.
32 | When setting your password, you will be asked to take of note of the **secret recovery phrase**.
33 | You must keep this recovery phrase safe, as it provides access to your Metamask wallet.
34 |
35 | ## Tokens Supported
36 |
37 | Only tokens on the Ethereum blockchain are available in Metamask (the so-called ERC-20 tokens).
38 | If you want to store a token from other blockchain, you must use a _wrapper token_.
39 |
40 | A _wrapper token_ is a token pegged to the value of another crypto.
41 | For example, the Wrapped Bitcoin (WBTC) runs on the Ethereum blockchain and takes its value from its _parent_, the Bitcoin (BTC).
42 |
43 |
--------------------------------------------------------------------------------
/content/en/tutorials/metamask-intro/what-is-metamask/metamask-homepage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/content/en/tutorials/metamask-intro/what-is-metamask/metamask-homepage.png
--------------------------------------------------------------------------------
/data/docs-versions.yml:
--------------------------------------------------------------------------------
1 | # - group: v1.x
2 | # baseurl: "https://getbootstrap.com"
3 | # description: "Every minor and patch release from v1 is listed below."
4 | # versions:
5 | # - v: "1.0.0"
6 | # - v: "1.1.0"
7 | # - v: "1.1.1"
8 | # - v: "1.2.0"
9 | # - v: "1.3.0"
10 | # - v: "1.4.0"
11 | #
12 | # - group: v2.x
13 | # baseurl: "https://getbootstrap.com"
14 | # description: "Every minor and patch release from v2 is listed below."
15 | # versions:
16 | # - v: "2.0.0"
17 | # - v: "2.0.1"
18 | # - v: "2.0.2"
19 | # - v: "2.0.3"
20 | # - v: "2.0.4"
21 | # - v: "2.1.0"
22 | # - v: "2.1.1"
23 | # - v: "2.2.0"
24 | # - v: "2.2.1"
25 | # - v: "2.2.2"
26 | # - v: "2.3.0"
27 | # - v: "2.3.1"
28 | # - v: "2.3.2"
29 | #
30 | # - group: v3.x
31 | # baseurl: "https://getbootstrap.com/docs"
32 | # description: "Every minor and patch release from v3 is listed below. Last update was v3.4.1."
33 | # versions:
34 | # - v: "3.3"
35 | # - v: "3.4"
36 | #
37 | # - group: v4.x
38 | # baseurl: "https://getbootstrap.com/docs"
39 | # description: "Our previous major release with its minor releases. Last update was v4.6.0."
40 | # versions:
41 | # - v: "4.0"
42 | # - v: "4.1"
43 | # - v: "4.2"
44 | # - v: "4.3"
45 | # - v: "4.4"
46 | # - v: "4.5"
47 | # - v: "4.6"
48 |
49 | - group: v0.x
50 | baseurl: "/docs"
51 | description: "Current major release. Last update was v0.2.0."
52 | versions:
53 | - v: "0.1"
54 | - v: "0.2"
55 |
56 | - group: v1.x
57 | baseurl: "/docs"
58 | description: "Every minor and patch release from v1 is listed below. Last update was v1.0.0."
59 | versions:
60 | - v: "1.0"
61 |
--------------------------------------------------------------------------------
/ethguides/IPFS-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/protocol/launchpad/b17ecb9250bff5708f9a13a2cb5a83c2da9e9681/ethguides/IPFS-logo.png
--------------------------------------------------------------------------------
/ethguides/intro-ipfs-filecoin.md:
--------------------------------------------------------------------------------
1 | ---
2 | id: ?
3 | title: Introduction to IPFS and Filecoin
4 | date: 'July 24, 2022'
5 | slug: ipfs-101
6 | description: Conceptual understanding of the why and what of IPFS and FIlecoin
7 | thumbnail: 'ipfs-logo.png'
8 | length: 3 mins
9 | tags: ['101', 'web3']
10 | author: ProtocolLabs
11 | avatar: ipfs-logo.jpg
12 | ---
13 |
14 |
15 |
16 |
17 | ## Properties of the Next Version of the Internet
18 | > _The Properties of the internet and its technologies define our human rights_ Juan Benet 2022
19 |
20 | Technologies like household automation have given women independence, and the internet has given mass accessibility to education, ideas, and collaboration on a global scale.
21 |
22 | Protocol Labs and its network organization's goal is, through the development of tecnologies, to
23 |
24 | Text text text text
25 |
26 | ### IPFS and Filecoin
27 |
28 | Text text text text
29 |
30 |
31 |
32 |
33 |
34 | ## Subtitle
35 |
36 | Text text text text
37 |
38 | ### Sub-Subtitle
39 |
40 | Text text text text
41 |
42 |
43 |
--------------------------------------------------------------------------------
/ethguides/template.md:
--------------------------------------------------------------------------------
1 | ---
2 | id: f7142
3 | title: Getting started with MetaMask
4 | date: 'Mar 27, 2022'
5 | slug: metamask-101
6 | description: Setup MetaMask for Ethereum Mainnet
7 | thumbnail: 'nft.jpg'
8 | length: 3 mins
9 | tags: ['101', 'web3']
10 | author: ETHGlobal
11 | avatar: https://pbs.twimg.com/profile_images/1333830155287097349/rGY9wviF_400x400.jpg
12 | ---
13 |
14 |
15 |
16 | ## Subtitle
17 |
18 | Text text text text
19 |
20 | ### Sub-Subtitle
21 |
22 | Text text text text
23 |
24 |
25 |
26 |
27 |
28 | ## Subtitle
29 |
30 | Text text text text
31 |
32 | ### Sub-Subtitle
33 |
34 | Text text text text
35 |
36 |
37 |
38 |
39 |
40 | ## Subtitle
41 |
42 | Text text text text
43 |
44 | ### Sub-Subtitle
45 |
46 | Text text text text
47 |
48 |
49 |
50 |
51 |
52 | ## Subtitle
53 |
54 | Text text text text
55 |
56 | ### Sub-Subtitle
57 |
58 | Text text text text
59 |
60 |
61 |
--------------------------------------------------------------------------------
/functions/hi-from-lambda.js:
--------------------------------------------------------------------------------
1 | exports.handler = (event, context, callback) => {
2 | callback (null, {
3 | statusCode: 200,
4 | headers: {
5 | 'Content-Type': 'application/json',
6 | },
7 | body: JSON.stringify({
8 | message: 'Hi from Lambda.',
9 | }),
10 | });
11 | }
12 |
--------------------------------------------------------------------------------
/i18n/en.toml:
--------------------------------------------------------------------------------
1 | [get-started]
2 | other = "Get Started"
--------------------------------------------------------------------------------
/i18n/nl.toml:
--------------------------------------------------------------------------------
1 | [get-started]
2 | other = "Aan de slag"
--------------------------------------------------------------------------------
/layouts/curriculum/list.html:
--------------------------------------------------------------------------------
1 | {{ define "main" }}
2 | {{ partial "main/curriculum-page.html" . }}
3 | {{ end }}
4 |
--------------------------------------------------------------------------------
/layouts/curriculum/single.html:
--------------------------------------------------------------------------------
1 | {{ define "main" }}
2 | {{ $section := replaceRE `(.+?)\/(.+?)\/(.+?)$` "$2" .File.Path }}
3 | {{ $goal := resources.Get "js/react/components/curriculum/page/Goal.jsx" | babel }}
4 | {{ $goal := $goal | js.Build }}
5 |
6 | {{ $tutorial := resources.Get "js/react/components/curriculum/tutorial/Tutorial.jsx" | babel }}
7 | {{ $tutorial := $tutorial | js.Build }}
8 |
9 |
10 |
11 |
12 |
13 |
14 |
17 |
18 | {{ if ne .Params.toc false -}}
19 |
22 | {{ end -}}
23 |
24 | {{ if .Params.toc -}}
25 |
26 | {{ else -}}
27 |
36 | {{ end -}}
37 | {{ if .Site.Params.options.breadCrumb -}}
38 |
39 |
45 | {{ end }}
46 |
47 |
48 |
{{ .Title }}
49 |
{{ .Params.lead | safeHTML }}
50 | {{ if ne .Params.toc false -}}
51 |
54 | {{ end -}}
55 |
56 |
57 |
58 | {{ if .Lastmod -}}
59 |
Last edited: {{ .Lastmod.Format "January 2, 2006" }}