Skip to content

XRPL-Commons/dev-training-june-2026

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

XRPL Developer Training — June 22–23, 2026

Open in GitHub Codespaces

This repository is the hands-on environment for the XRPL Commons developer training. Participants work from scaffolded exercises in their language of choice and verify their results live on the XRPL Testnet.

Heads up: Opening a Codespace for the first time can take several minutes. Click the button above as soon as you can and let it load in the background while the session intro is running.


What is in this repo

.
├── .devcontainer/        Codespaces setup
├── scripts/              Wallet minting
├── exercises/
│   ├── js/               JavaScript exercises
│   ├── python/           Python exercises
│   └── java/             Java exercises
├── wallets.json          Auto-generated on Codespace start
└── README.md

Complete solutions live on the solutions branch.


Getting started

Click the Codespaces button above and wait for the environment to finish starting. This can take several minutes on a cold start, it is normal.

Prebuild note:

  • Dependencies are already installed, the environment loads faster than a standard Codespace
  • Wallet minting still runs only when your individual Codespace starts, so your wallets stay unique to you

The Codespace automatically:

  • installs JavaScript, Python, and Java dependencies
  • creates two funded XRPL Testnet wallets
  • saves them to wallets.json

If wallet minting fails on startup, re-run it manually:

node scripts/mint-wallets.js

Wallets

After startup, wallets.json contains two funded Testnet wallets:

  • Wallet 1: sender, issuer, minter
  • Wallet 2: receiver, holder

If your Codespace is stopped and restarted between exercises, it will re-mint wallets and overwrite wallets.json. To preserve continuity (trust lines, etc.), avoid restarting, or keep a copy of your previous wallets.json and restore it after restart.

⚠️ Important:

  • These are Testnet wallets only
  • Never reuse Testnet seeds on Mainnet
  • If you must re-mint, run node scripts/mint-wallets.js, but note this will reset your on-chain state (trust lines, AMM pools, etc.)

Pick a language

Choose the language you are most comfortable with. All exercises cover the same content.

Language Folder Run pattern
JavaScript exercises/js/ node exercises/js/file-name.js
Python exercises/python/ python exercises/python/file_name.py
Java exercises/java/ cd exercises/java && mvn compile exec:java -Dexec.mainClass="academy.xrpl.ClassName"

Java dependencies are downloaded on the first mvn compile, which can take a few minutes. Run it once before the coding session starts.

Java users: before running each exercise, reset your terminal to the repo root first:

cd ~ && cd /workspaces/dev-training-june-2026

Exercise commands

Day 1: Send XRP

node exercises/js/day1-send-xrp.js
python exercises/python/day1_send_xrp.py
cd exercises/java && mvn compile exec:java -Dexec.mainClass="academy.xrpl.Day1SendXrp"

Success signal: tesSUCCESS and an Explorer link.

Homework: NFT Lifecycle

node exercises/js/homework-nft.js
python exercises/python/homework_nft.py
cd exercises/java && mvn compile exec:java -Dexec.mainClass="academy.xrpl.HomeworkNft"

Success signal: NFT mint succeeds, appears on-chain, then is burned.

Complete this between Day 1 and Day 2.

Day 2 Step 1: Setup Account

node exercises/js/day2-step1-setup-account.js
python exercises/python/day2_step1_setup_account.py
cd exercises/java && mvn compile exec:java -Dexec.mainClass="academy.xrpl.Day2Step1SetupAccount"

Success signal: issuer account enables Default Ripple.

Day 2 Step 2: Issue Token

node exercises/js/day2-step2-issue-token.js
python exercises/python/day2_step2_issue_token.py
cd exercises/java && mvn compile exec:java -Dexec.mainClass="academy.xrpl.Day2Step2IssueToken"

Success signal: holder trust line exists and receives the issued token.

Day 2 Step 3: Create AMM

Prerequisite: complete Step 1 and Step 2 first.

node exercises/js/day2-step3-create-amm.js
python exercises/python/day2_step3_create_amm.py
cd exercises/java && mvn compile exec:java -Dexec.mainClass="academy.xrpl.Day2Step3CreateAmm"

Success signal: AMMCreate succeeds and the pool exists on Testnet.


Workshop flow

Day 1 — June 22, 2026

Time (CEST) Activity Exercise
15:00 – 15:30 Welcome & intro
15:30 – 16:30 Blockchain 101 + quiz
16:30 – 16:45 Break
16:45 – 17:30 XRPL 101 + What's new + quiz
17:30 – 18:00 Coding session I day1-send-xrp
18:00 – 18:30 Q&A + homework briefing homework-nft

Day 2 — June 23, 2026

Time (CEST) Activity Exercise
15:00 – 15:30 Greeting & homework review
15:30 – 15:55 Keynote: Spawning Liquidity on the XRP Ledger + quiz
15:55 – 16:00 Break
16:00 – 17:30 Coding session II — Step 1: setup account day2-step1-setup-account
Coding session II — Step 2: issue token day2-step2-issue-token
Coding session II — Step 3: create an AMM day2-step3-create-amm
17:30 – 17:45 Break
17:45 – 18:00 Alumni testimonial
18:00 – 18:30 Q&A + closing remarks

Stuck? Get help

If you are blocked at any point:

  • Post your question in the training Google Chat space, mentors are monitoring it throughout both days.
  • Mentors can see your on-chain activity and will be able to tell which step you are on and help you debug.
  • If needed, a mentor will invite you to a Zoom breakout room for 1-on-1 support.

Troubleshooting

Problem What to do
Codespace takes a long time to start This is normal, it can take several minutes on a cold start. Wait it out.
Wallet minting fails Retry node scripts/mint-wallets.js after a short wait.
Java build is slow on first run Run mvn compile once and wait for dependencies to download.
Java cd error between exercises Reset your terminal to the repo root: cd ~ && cd /workspaces/dev-training-june-2026
WebSocket connection fails Retry on a different network, corporate firewalls sometimes block WebSockets.
Day 2 Step 3 fails Make sure you completed Step 1 and Step 2 first, using the same wallets.

Solutions

If you are truly stuck after asking for help, complete solutions are available on the solutions branch. Try the exercise first, solutions are a last resort.

git checkout solutions -- solutions/

This copies the solution files into your solutions/ folder without overwriting your work in exercises/.


Network reference

Item Value
Network XRPL Testnet
WebSocket wss://s.altnet.rippletest.net:51233
JSON-RPC https://s.altnet.rippletest.net:51234
Explorer https://testnet.xrpl.org
Faucet https://faucet.altnet.rippletest.net/accounts

Reference materials

Start here

Exercise-by-exercise links

Exercise Learning Portal XRPL Docs SDKs
day1-send-xrp Create Accounts and Send XRP Payment transaction xrpl.js, xrpl-py
homework-nft Mint and Burn NFTs NFTokenMint, NFTokenBurn xrpl.js, xrpl-py
day2-step1-setup-account Code with XRPL AccountSet transaction xrpl.js, xrpl-py, xrpl4j
day2-step2-issue-token Create Trust Line and Send Currency TrustSet, Payment xrpl.js, xrpl-py, xrpl4j
day2-step3-create-amm What is an AMM? AMMCreate, amm_info xrpl.js, xrpl-py, xrpl4j

SDKs


Further reading

About

XRPL Academy - Hands-on blockchain development workshop (JavaScript, Python, Java)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors