Tutorials and Concepts
This guide lists a number of tutorials, projects as concepts or WIP's, and related resources.
📖 Building Tips
Developer Resources
For developer resources on Serum and Solana: https://github.com/project-serum/awesome-serum
RPC Servers
For a default list of RPC servers to use: https://github.com/project-serum/awesome-serum#rpc-servers
Others may be less reliable
Serum Market Data
If you want to consume Serum market data, you have the following options:
Javascript program for on-chain calls: https://github.com/project-serum/serum-js
REST server: https://github.com/project-serum/serum-rest-server
Serum API: https://docs.bonfida.com/#introduction
Mainnet, Devnet, Testnet
Developers are recommended to have (by default) both a mainnet and devnet/testnet version with a toggle to test the protocol on both, as there may be differences in performance that are useful to be able to test:
It is useful to have a devnet or testnet version, and also a mainnet version for full testing
Authenticating Transactions
If you need to authenticate transactions, the recommended course of action is to use the SPL wallet adapter, which is what e.g. sollet.io users to connect to DEXes.
Note: you can build in auto-accepting as an option! https://dex.projectserum.com/#/ uses this with sollet.io.
Users will be prompted to click: “Automatically approve transactions from https://dex.projectserum.com”
If they do, then for that session:
As long as the URL is the same
As long as the transaction contents match the expected contents (e.g. a DEX order)
It will not require clicking "accept".
This code is in https://github.com/project-serum/sol-wallet-adapter.
If you want your program to be auto-accepted, submit a PR (pull request) that adds it!
Bonfida and others also sometimes connect.
Developers are recommended to use the same conventions as e.g. sollet.io for the seed phrase and private key.
Composability
Consider composing with existing apps:
If your app needs liquidity you can trade on a DEX orderbook or swap
If your app needs to mint tokens, consider using https://spl-token-ui.com
Check out https://github.com/project-serum/awesome-serum for ideas and tools
Fees Going to SRM Governance
For fees going to SRM governance, you can assign to this address if you want.
🎓 Tutorials and Project Concepts
📈 Host a GUI
Want to help support the Serum ecosystem? Host a GUI and get a fraction of the fees!
An open source GUI: https://github.com/project-serum/serum-dex-ui
More about staking and voting: https://projectserum.com/#/staking-and-voting
🛠️ DEX Integration
A technical introduction to the Serum DEX can be found here.
DEX Resources
Serum.JS, client-side JavaScript resources to connect to the DEX
Serum DEX UI, an implementation of a UI for the Serum DEX
Testnet deployment of prototype DEX:
Mainnet examples:
PySerum: Python client library for interacting with the Project Serum DEX.
🔁 Minting Tokens
🧾 Token Contracts
🧾 Miscellaneous
Messaging App - Proof of Concept
AMM - Work-in-progress
On-chain Pools:
Last updated