🦀 服务端模块语言
Rust
编译为 WASM
C#
编译为 WASM
TypeScript
V8 引擎
C++
编译为 WASM
🦀 Rust
// 定义表
#[spacetimedb::table(accessor = messages, public)]
pub struct Message {
#[primary_key] #[auto_inc]
id: u64,
text: String,
}
// 定义 Reducer
#[spacetimedb::reducer]
pub fn send_message(ctx: &ReducerContext, text: String) {
ctx.db.messages().insert(Message { id: 0, text });
}💜 C#
// 定义表
[SpacetimeDB.Table(Accessor = "messages", Public = true)]
public class Message {
[SpacetimeDB.PrimaryKey] [SpacetimeDB.AutoInc]
public ulong Id;
public string Text;
}
// 定义 Reducer
[SpacetimeDB.Reducer]
public static void SendMessage(ReducerContext ctx, string text) {
ctx.Db.messages.Insert(new Message { Text = text });
}📘 TypeScript
// 定义表
export const Message = schema.table('message', {
id: t.u64.primaryKey().autoInc(),
text: t.string,
});
// 定义 Reducer
export const sendMessage = spacetimedb.reducer({ text: t.string }, (ctx, { text }) => {
ctx.db.message.insert({ text });
});