Skip to content

Onboarding: Intermediate lectures (+ runnable Aiken and Mesh examples) - #1951

Merged
paulobressan merged 93 commits into
new-onboardingfrom
1921-onboarding-intermediate-lectures
Sep 4, 2026
Merged

Onboarding: Intermediate lectures (+ runnable Aiken and Mesh examples)#1951
paulobressan merged 93 commits into
new-onboardingfrom
1921-onboarding-intermediate-lectures

Conversation

@paulobressan

@paulobressan paulobressan commented Aug 6, 2026

Copy link
Copy Markdown
Collaborator

Intermediate - Onboarding Section

Nine lectures taking a newcomer from "what is a smart contract" to a contract they wrote, compiled, tested, and ran on Preview. Same shape as the Beginner track: one idea per lecture, a diagram, and something you can run.

Intermediate Lectures (docs/developers/onboarding/lectures/intermediate/)

All nine build one worked example, a vault that releases funds only to the owner who signs.

On-chain vs off-chain: Your code prepares, the chain enforces.
Set up your tools: A language and a compiler, and the contract project the next six lectures fill.
What a validator is: A yes/no gatekeeper on a locked UTxO.
Datum & redeemer: The data you hand a contract.
The transaction context: Everything else a contract can look at before it decides.
Testing: Tracing, unit tests, and property-based tests, so the next two lectures can change a working contract safely.
Parameters: A value built into the contract itself, before it has an address.
Validator purposes: Spend and mint, under one script hash.
Off-chain and frontend integration: Script addresses, lock and unlock, collateral, execution units, then a wallet in the browser.

The contract comes first and it comes alone. Lectures 2 to 8 are on-chain only: you write the validator, compile it, test it, and finish it, with no app yet. The whole off-chain half of the track is lecture 9, where the vault gets an address, its transactions, offline tests, and a page that drives it.

Examples (examples/onboarding/lectures/intermediate/vault/)

The playground the lectures import from, so no snippet is pasted prose:

on-chain/aiken/ the vault validator, in the two states the lectures leave it in
off-chain/mesh/ a Mesh and React app that locks, unlocks, and mints, with offline tests that build and check each transaction without touching the network

The app proxies its Blockfrost key through a small backend instead of shipping it to the browser. At the end of lecture 8 the reader compares their own build hash with the one we publish.

Lectures 10 to 13, and the vesting, gift card, and oracle examples, follow in a separate PR.

@paulobressan
paulobressan force-pushed the 1921-onboarding-intermediate-lectures branch 3 times, most recently from f68e9c6 to 1854fde Compare August 19, 2026 14:43
@paulobressan
paulobressan force-pushed the 1921-onboarding-intermediate-lectures branch from 1854fde to bd6aab8 Compare August 19, 2026 14:49
@paulobressan
paulobressan marked this pull request as ready for review August 20, 2026 17:35
@paulobressan
paulobressan requested a review from rober-m August 20, 2026 17:35

@rober-m rober-m left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed only until "what is a validator"

Comment thread docs/developers/onboarding/lectures/intermediate/introduction.md Outdated
Comment thread docs/developers/onboarding/lectures/intermediate/introduction.md Outdated
Comment thread docs/developers/onboarding/lectures/intermediate/introduction.md Outdated
Comment thread docs/developers/onboarding/lectures/intermediate/introduction.md Outdated
Comment thread docs/developers/onboarding/lectures/intermediate/introduction.md
Comment thread docs/developers/onboarding/lectures/intermediate/2-tools.md Outdated
Comment thread docs/developers/onboarding/lectures/intermediate/2-tools.md Outdated
Comment thread docs/developers/onboarding/lectures/intermediate/2-tools.md Outdated
Comment thread docs/developers/onboarding/lectures/intermediate/3-what-is-a-validator.md Outdated
Comment thread docs/developers/onboarding/lectures/intermediate/3-what-is-a-validator.md Outdated

@rober-m rober-m left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed only until "what is a validator"

@rober-m rober-m left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Checked until lecture 5 (inclusive)

Comment thread docs/developers/onboarding/lectures/intermediate/3-what-is-a-validator.md Outdated
Comment thread docs/developers/onboarding/lectures/intermediate/3-what-is-a-validator.md Outdated
Comment thread docs/developers/onboarding/lectures/intermediate/3-what-is-a-validator.md Outdated
Comment thread docs/developers/onboarding/lectures/intermediate/3-what-is-a-validator.md Outdated
Comment thread docs/developers/onboarding/lectures/intermediate/3-what-is-a-validator.md Outdated
Comment thread docs/developers/onboarding/lectures/intermediate/5-transaction-context.md Outdated
Comment thread docs/developers/onboarding/lectures/intermediate/5-transaction-context.md Outdated
Comment thread docs/developers/onboarding/lectures/intermediate/5-transaction-context.md Outdated
Comment thread docs/developers/onboarding/lectures/intermediate/5-transaction-context.md Outdated
Comment thread docs/developers/onboarding/lectures/intermediate/6-testing.md Outdated

@rober-m rober-m left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Checked until lecture 5 (inclusive)

paulobressan and others added 10 commits August 26, 2026 12:55
…alidator.md

Co-authored-by: Robertino <github@roberm.com>
…alidator.md

Co-authored-by: Robertino <github@roberm.com>
…alidator.md

Co-authored-by: Robertino <github@roberm.com>
…alidator.md

Co-authored-by: Robertino <github@roberm.com>
…alidator.md

Co-authored-by: Robertino <github@roberm.com>
…alidator.md

Co-authored-by: Robertino <github@roberm.com>
…alidator.md

Co-authored-by: Robertino <github@roberm.com>
…alidator.md

Co-authored-by: Robertino <github@roberm.com>
…alidator.md

Co-authored-by: Robertino <github@roberm.com>
…-context.md

Co-authored-by: Robertino <github@roberm.com>
paulobressan and others added 15 commits August 31, 2026 14:21
…urposes.md

Co-authored-by: Robertino <github@roberm.com>
…urposes.md

Co-authored-by: Robertino <github@roberm.com>
…urposes.md

Co-authored-by: Robertino <github@roberm.com>
…urposes.md

Co-authored-by: Robertino <github@roberm.com>
…urposes.md

Co-authored-by: Robertino <github@roberm.com>
…urposes.md

Co-authored-by: Robertino <github@roberm.com>
…urposes.md

Co-authored-by: Robertino <github@roberm.com>
…rdano-foundation/developer-portal into 1921-onboarding-intermediate-lectures

# Conflicts:
#	docs/developers/onboarding/lectures/intermediate/7-parameters.md
#	docs/developers/onboarding/lectures/intermediate/8-validator-purposes.md
Comment thread docs/developers/onboarding/lectures/intermediate/9-frontend-integration.md Outdated
Comment thread docs/developers/onboarding/lectures/intermediate/9-frontend-integration.md Outdated
Comment thread docs/developers/onboarding/lectures/intermediate/9-frontend-integration.md Outdated
Comment thread docs/developers/onboarding/lectures/intermediate/9-frontend-integration.md Outdated
Comment thread docs/developers/onboarding/lectures/intermediate/9-frontend-integration.md Outdated
Comment thread docs/developers/onboarding/lectures/intermediate/9-frontend-integration.md Outdated
Comment thread docs/developers/onboarding/lectures/intermediate/9-frontend-integration.md Outdated
Comment thread docs/developers/onboarding/lectures/intermediate/9-frontend-integration.md Outdated
Comment thread docs/developers/onboarding/lectures/intermediate/9-frontend-integration.md Outdated
Comment thread docs/developers/onboarding/lectures/intermediate/9-frontend-integration.md Outdated
paulobressan and others added 12 commits September 2, 2026 10:51
…tegration.md

Co-authored-by: Robertino <github@roberm.com>
…tegration.md

Co-authored-by: Robertino <github@roberm.com>
…tegration.md

Co-authored-by: Robertino <github@roberm.com>
…tegration.md

Co-authored-by: Robertino <github@roberm.com>
…tegration.md

Co-authored-by: Robertino <github@roberm.com>
…tegration.md

Co-authored-by: Robertino <github@roberm.com>
…tegration.md

Co-authored-by: Robertino <github@roberm.com>
…tegration.md

Co-authored-by: Robertino <github@roberm.com>
…tegration.md

Co-authored-by: Robertino <github@roberm.com>
…tegration.md

Co-authored-by: Robertino <github@roberm.com>
@paulobressan
paulobressan merged commit 771c054 into new-onboarding Sep 4, 2026
1 of 2 checks passed
@paulobressan
paulobressan deleted the 1921-onboarding-intermediate-lectures branch September 4, 2026 17:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants