prs on Nostr: NostrScript (#1246) NostrScript is a WebAssembly implementation that interacts with ...
NostrScript (#1246)
NostrScript is a WebAssembly implementation that interacts with Damus. It enables dynamic scripting that can be used to power custom list views, enabling pluggable algorithms.
The web has JavaScript, Damus has NostrScript. NostrScripts can be written in any language that compiles to WASM.
This commit adds a WASM interpreter I've written as a mostly-single C file for portability and embeddability. In the future we could JIT-compile these for optimal performance if NostrScripts get large and complicated. For now an interpreter is simple enough for algorithm list view plugins.
Changelog-Added: Add initial NostrScript implementation
nostrscript, 1 commits
https://github.com/damus-io/damus/pull/1246Published at
2023-06-04 17:31:28Event JSON
{
"id": "d74a6beea5a92e9b4b5c58b71040d57936987e4a2dcf4e9cda60337dd4df2cbe",
"pubkey": "edf16b1dd61eab353a83af470cc13557029bff6827b4cb9b7fc9bdb632a2b8e6",
"created_at": 1685899888,
"kind": 1,
"tags": [
[
"p",
"32e1827635450ebb3c5a7d12c1f8e7b2b514439ac10a67eef3d9fd9c5c68e245"
],
[
"t",
"damuspr"
]
],
"content": "NostrScript (#1246)\n\nNostrScript is a WebAssembly implementation that interacts with Damus. It enables dynamic scripting that can be used to power custom list views, enabling pluggable algorithms.\r\n\r\nThe web has JavaScript, Damus has NostrScript. NostrScripts can be written in any language that compiles to WASM.\r\n\r\nThis commit adds a WASM interpreter I've written as a mostly-single C file for portability and embeddability. In the future we could JIT-compile these for optimal performance if NostrScripts get large and complicated. For now an interpreter is simple enough for algorithm list view plugins.\r\n\r\nChangelog-Added: Add initial NostrScript implementation\n\nnostrscript, 1 commits\n\nhttps://github.com/damus-io/damus/pull/1246",
"sig": "ebb95ffde65b962d38a85e4dbff714de8eb1201fa0f5f945dac99f917ccc8d7d2ccf510c94a8581c83d8ca5dbeb903b52c64d667493f21e655197247556e12f5"
}