aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
authoreunhhu <[email protected]>2026-09-27 19:42:23 +0100
committereunhhu <[email protected]>2026-09-27 19:42:23 +0100
commitc20c8fa13c77d08d093aede126a1ec7646da0905 (patch)
tree4d0a20dbe47e73a0297d5e21af30aced505498e4 /README.md
parenta3c24ecbc00b04eaf191f8e16b8e53db57b4caeb (diff)
downloadvega-c20c8fa13c77d08d093aede126a1ec7646da0905.tar.gz
vega-c20c8fa13c77d08d093aede126a1ec7646da0905.zip
Add a messenger between two nodes, sealed end to end
examples/messenger.aup keeps the lines typed here and sends each to the other node, and keeps the other's. The check runs Alice's and Bob's nodes, each with a key of its own, sealing to the other's and taking lines only from the other (pure-serve --key, --send, --seal, --sender), each drawn by Vega in the node, with a relay between them: a line typed on Alice's display reaches Bob's node and is drawn on his, Bob's answer posted by a program is drawn on hers, each last frame is the one the vega command draws from that node's store, and the relay saw no line's text nor a field's name, only one sealed session each way naming the sender's key.
Diffstat (limited to 'README.md')
-rw-r--r--README.md13
1 files changed, 13 insertions, 0 deletions
diff --git a/README.md b/README.md
index 3b2ed3c..ee0feb7 100644
--- a/README.md
+++ b/README.md
@@ -43,6 +43,19 @@ curl -s 'localhost:8767/views/cards_list?from=0&count=20'
--surface build/vega-surface.so -- display --symbols ui.vsym --live # 디스플레이와 HTTP가 한 노드를 쓴다
```
+`examples/messenger.aup`는 두 노드 사이의 메신저다. 여기서 쓴 줄은 저장되고 상대 노드로 간다. 노드마다 제 키를 갖고,
+상대의 키로 봉인하며, 상대만을 이름과 키로 받는다. 그래서 사이의 중계는 읽지도 바꾸지도 못한다(Pure 086, 088). 화면은 노드
+안의 Vega다.
+
+```sh
+AUP_PATH=lib ../aup/build/aup build examples/messenger.aup -o messenger.pmod
+# 앨리스의 노드(밥의 노드는 이름과 키를 바꿔 같게). 두 공개키는 각 노드를 --key로 한 번 띄우면 시작 줄에 나온다.
+../pure/build/pure-serve --module messenger.pmod --store ~/.alice --key ~/.alice.key --name alice --port 8801 \
+ --send said=http://bob.local:8802/inputs/heard --seal said=BOB_KEY --sender bob.said=BOB_KEY \
+ --surface build/vega-surface.so -- display --symbols ui.vsym --live
+curl -s -X POST -d alice localhost:8801/inputs/rename # 이름(한 번)
+```
+
글자와 아이콘은 하나의 바이너리 형식(심볼 파일)으로 그린다. 폰트와 SVG는 빌드할 때 한 번만 해석한다
([설계 002](docs/design/002-symbol-format.md)).