Move’s next move:
moving Move forward in 2024, on Sui
Sam Blackshear
Creator of Move, co-founder + CTO @Mysten
w/ Move Core + Move Innovation teams @ Mysten
+ Sui developer community
Huge thank you to MoveFunsDAO + the APAC Move developer community!
Agenda
Move 2022-2023: safe + expressive foundations
Core building block for Move smart contract programming
Code composability
Data composability
Sui objects: core smart contract building blocks
Native implementation of
struct Obj has key, store {
id: UID,
// … other fields
}
fun f(o: Obj, a: address) {
transfer(o, a)
}
What Sui objects do for programmers
Example: universal claim-object-via-link app
How objects enable universal claim links
Superpower for onboarding/growth: send asset to anyone with an email, no wallet install needed
Programmable transaction blocks (PTBs): code composability
Example: Flash loan + multi-pool arbitrage
PTBs: safer and more powerful than interfaces
Superpower for DeFi builders
Dynamic fields: data composability
struct Obj has key{
id: UID,
f: u64 // normal field
}
fun add_coin<T>(o: &mut Obj) {
let t = type_name::get<T>();
// dynamic field
o.id[t] = coin::zero<T>()
}
What dynamic fields do for programmers
Example: SuiFrens x Pebble City accessory mashup
Native and external objects compose seamlessly
Superpower for NFT, game, social devs
SuiFren
id: 0x34b
AccessoryV2<NHN>
owned by 0x7d1
id: 0x938
Field<AccessoryKey,ID>
owned by 0x34b
id: 0x7d1
key: “torso”
value: 0x938
Field<AccessoryKey,ID>
owned by 0x34b
id: 0x84b
key: “eyes”
value: 0xdaf
Accessory
owned by 0x84b
id: 0xdaf
torso
eyes
Agenda
Move 2024: strong foundations => advanced tools
Safe + expressive foundations
Advanced Tools to accelerate development
Secure on-chain randomness
(on mainnet in Q1)
entry fun mint_random_nft(
r: &mut Random,
ctx: &mut TxContext
) {
let rarity = r.generate_u64();
// … generate NFT, transfer to sender
Object-centric RPC via GraphQL
(on mainnet Jan 22)
Move-to-app compiler (launching Q2/Q3)
Move 2024: strong foundations => advanced tools
Safe + expressive foundations
Advanced Tools to accelerate development