æ²é¡ã®éãã§ãã
以ä¸ã
Androidã¹ããã§NostrP2Pã®ãµã¼ããåãã
å æ¥ä»¥ä¸ã®ãããªè¨äºãQiitaã«æ¸ããã®ã§ããããµã¼ãããã£ã¨åããã¨ãªãã¨ãããå¯è½ãªãã·ã³ãç¨æã§ããããæã£ã¦ããããåé¡ã ããªã¼ãã¨ãèãã¦ã¾ããã
ã§ãããããã°ãAndroidã¹ãããªãTermuxã¨ããAndroid端æ«å
ã«ç¬èªLinuxç°å¢ãæ§ç¯ããã¢ããªãããã®ã§ã使ããªããªã£ãAndroidã¹ãããªãããæå¹æ´»ç¨ãã¦ããµã¼ãåããã¦ããã¨ããã®ã¯æªããªãã®ã§ã¯ãã¨æã試ãã¦ã¿ãã¨ãããè¦äºåãã¾ãã!
ï¼ããããAndroidã¯Linuxã®ä¸ç¨®ãªã®ã§ãã¢ããªãã¦ã¼ã¶ã«è¦ããã·ã§ã«ã«ããã¦ã ããchrootã§ãã¡ã¤ã«ã·ã¹ãã ã®ã«ã¼ãã®ä½ç½®ãå¤æ´ãã¦ãããããå¿ è¦ãªãã¡ã¤ã«ãé ç½®ãã¦ãããã°ãç¬èªã®Linuxã¦ã¼ã¶ã©ã³ããä½ãããããã¨ããã®ãTermuxãã¨ããèªèï¼
ã¾ãã¯ãä¸ã®ãµã¤ããªã©ãåèã«ãã¤ã¤ãFdroidã¢ããªãçµç±ãã¦Termuxãã¤ã³ã¹ãã¼ã«ã
Â
Termuxãã¤ã³ã¹ãã¼ã«ã§ããã以ä¸ã®ããã«ã³ãã³ããå®è¡ããã°ãµã¼ãèµ·åã¾ã§ãã©ãçãã¾ãã
$ apt update $ apt upgrade $ apt install -y golang git $ git clone https://github.com/ryogrid/nostrp2p $ cd nostrp2p $ go build -o nostrp2p main.go $ ./nostrp2p server -l 0.0.0.0:20000 -p <npubå½¢å¼ã®å ¬ééµ> -b ryogrid.net:8888
ãã¨ã¯ãã¹ããã®IPã¢ãã¬ã¹ã調ã¹ã¦ãã¯ã©ã¤ã¢ã³ãã«æå®ããã°OKã*1
ã¡ããã¨ããã¼ãã¹ãã©ãããµã¼ãã«ãæ¥ç¶ã§ãã¦ãã¾ããã
ãªãããµã¼ããæ¢ããã¨ã㯠Ctrl + c ã§ãµã¼ãããã»ã¹ãçµäºããã¦ãexitã³ãã³ãã§ã·ã§ã«ãçµäºãããã®Temuxãæ®éã®ã¢ããªã¨åãããã«çµäºãããã ãã
Termuxã§æ§ç¯ããç°å¢ãä¸è¦ã«ãªã£ãå ´åã¯ãTermuxãã¢ã³ã¤ã³ã¹ãã¼ã«ããã°ãç°å¢ã¨ãã®ä¸ã§ä½ã£ããã¡ã¤ã«å«ãã¦åé¤ãã¦ãããã¯ãã
以ä¸ãã¹ã¯ã·ã§ã
Â
ã¯ã©ã¤ã¢ã³ãã®ãµã¼ãã¢ãã¬ã¹è¨å®
ï¼ä»åã¯Windowsç¨ã®ãã¤ãã£ãã¯ã©ã¤ã¢ã³ãã使ãã¾ããï¼
æ稿ãã¦ã¿ãã¨ãã
Â
ãã¼ãã¹ãã©ãããµã¼ãï¼å
¼Trialç¨ãµã¼ãï¼ã¸ã®æ稿ãã¼ã¿ã®è»¢éï¼èªåç¨ãµã¼ããããã¼ããã£ã¹ãï¼ãæ£å¸¸ã«è¡ãããTrialç¨ãµã¼ãã«æ¥ç¶ããWebã¯ã©ã¤ã¢ã³ãã§ãã¡ããã¨è¡¨ç¤ºããã¦ãã¾ãã
Â
ããã¼ãTermuxããããªã¼ã
Â
*1:WiFiã§æ¥ç¶ãã¦ããããè¨å®ç»é¢ã®ãããã¯ã¼ã¯ã®ã¨ãããã辿ã£ã¦ããã°å²ãå½ã¦ããã¦ããIPã¢ãã¬ã¹ã確èªã§ãã¾ããIPã¢ãã¬ã¹ãã¡ããã¡ããå¤ãã£ã¦å°ãã¨ããå ´åã¯tailscaleãªã©ã®VPNã¢ããªãå°å ¥ãã¦VPNä¸ã®åºå®ã¢ãã¬ã¹ã使ãã°OK
ãã¥ã¢P2Påæ£ãã¤ã¯ãããã°ã·ã¹ãã ã®ç¬¬ä¸æ©
ãªã¼ãã¬ã¤ã§ã¡ãã»ã¼ã¸ãããã¼ããã£ã¹ãã§ããã ãã®ãã®ãã§ããï¼
https://github.com/ryogrid/buzzoon/releases/tag/v0.0.3
- æ§æ³ã¯ã³ã¬: みんなで頑張る分散ピュアP2Pマイクロブログシステム(Buzzoon) · GitHub
試ãæ¹ï¼ãµã¼ãèµ·åï¼
ryogrid.net:9999
ryogrid.net:8888
ã«æ¢ã«ãªã¼ãã¬ã¤ãããã¯ã¼ã¯ã«åå ãã¦ãããµã¼ãã2å¹ããã®ã§ã©ã¡ããã«æ¥ç¶ã
ãã¤ããªã¯Winç°å¢ãªã buzzoon.exeãLinuxç°å¢ãªã buzzon_linuxãMacç°å¢ãªãbuzzoon_mac
ãã¼ã«ã«ã®ãµã¼ãã¯ä¸ã®ããã«èµ·å
$ .\buzzoon.exe server -l 0.0.0.0:20000 -p 1985 -n ryo -b ryogrid.net:9999
- -l ãªãã·ã§ã³ã¯ãã¤ã³ããããã¼ã«ã«ã¢ãã¬ã¹
- -p ãªãã·ã§ã³ã¯æ¬æ¥ã¯å
¬ééµãæå®ããã®ã ãã©ç½²åã®æ¤è¨¼ã¨ãæªå®è£
ãªã®ã§ãä»ã®äººã¨è¢«ããªãããª10é²ã®æ´æ°ãæå®ããã°ãã
- ããã¯ãªã¼ãã¬ã¤NWä¸ã§ã®ãã¼ãIDã¨ãã¦ä½¿ããã
- -n ãªãã·ã§ã³ã¯ããã¯ãã¼ã ã®è¨å®ãNostrã§ããæã®kind-0ç¸å½ãã¾ã å®è£ ãã¦ããªãã®ã§ãããã§æå®ããããã¯ãã¼ã ã§ã¡ãã»ã¼ã¸ãéä¿¡ãããããã«ãã¦ãã
- -b ãªãã·ã§ã³ã¯ãªã¼ãã¬ã¤ãããã¯ã¼ã¯ã«æ¢ã«åå ãã¦ãããµã¼ãã®ã¢ãã¬ã¹ãæå®ãã¨ãããã ryogrid.netã®2ãã¼ãã®ãã¡ã®ã©ã¡ãããæå®ããã°OK
ã¡ãã»ã¼ã¸ã®éä¿¡
ä¸ã®ä¾ã ã¨ãhttp://127.0.0.1:20001/postEvent ã«RESTã®ã¨ã³ããã¤ã³ããç«ã£ã¦ããã®ã§ãããå©ãã
ï¼ãã¼ãã¯-lãªãã·ã§ã³ã§æå®ãããã®ã«+1ï¼
curlã§å©ããªãä¸ã®ãããªæãã
$ curl -X POST -H "Content-Type: application/json" -d '{"Content":"ããã°ãã¿"}' http://127.0.0.1:20001/postEvent ã¬ã¹ãã³ã¹â { "Status": "SUCCESS" }
åä¿¡ããã¡ãã»ã¼ã¸ã¯ãµã¼ãã®stdoutã«åºãã
è¯ãã£ãã試ãã¦ã¿ã¦ãï¼
ç§ã®èããæå¼·ã®Nostrãããã³ã«æ¡å¼µï¼èãä¸ï¼
ãåæ£ã·ã¹ãã ã«æããã¨èªç§°ãã¦ããç§ãªã®ã§ãNostr *1ãªã¢ããªã±ã¼ã·ã§ã³ï¼ããã§ã¯ãã¤ã¯ãããã°åSNSã¨ããï¼ãã¹ã±ã¼ã«å¯è½ï¼å
¨ä½ã®ã¦ã¼ã¶æ°ãå¢å ãã¦ã使ãããã®ã§ããç¶ããï¼ã«ããããã«ã¯ã©ãããã°ãããã¨ãæèå®é¨ã¬ãã«ã§èãã¦ã¿ã¦ããã
ããããªããããï¼ã¨ããã¨ããã«ã¯ãã©ãçãã¦ããªãããã©ãã¢ã¤ãã¢ã¨ãã糸å£ã«ãªãããªã¼ã¿ãããªæ°ã¥ãã¯ãã£ãã®ã§ããã«è¨ãã
Nostrã®ç¹å¾´ã¨ãã¦ç¶æãããªãã¨ãããªããã¨
大äºã
- ä¸å¤®é権çãªãµã¼ãã«é ¼ããªã
- ãªã¬ã¼ãµã¼ãã¯æ°è»½ã«å»ºã¦ããã¦éå¶ãããã¦ãã¦ã¼ã¶ã«è¿·æãããããªã
- ï¼ãã©ã³ãã£ã¢ãã¼ã¹ã«ãªãã¨ããã¨ããã¯ã²ã¨ã¾ãä»æ¹ããªããã¨ãããã¨ã«ãã¦ããï¼
- ãªã¬ã¼ãµã¼ãã«è¦æ±ããããã·ã³ã¹ããã¯ãéä¿¡ãªã½ã¼ã¹ãã¹ãã¼ããªéã«ãªããªã
- ã¯ã©ã¤ã¢ã³ãã¯ãããªãã«é
延ãªããã¼ã¿ãåå¾ã§ãã
- ï¼ãã¥ã¢P2Pãªã¢ã¼ãçã ã¨é ããªããã¡ã§ããã¨ãããã¨ãæèãã¦ã®ã¨ããï¼
ã¹ã±ã¼ã«ãããä¸ã§ã®èª²é¡ã¯ä½ãï¼
åæç¥è
- ï¼å°ãªãã¨ãç¾ç¶ã®ä»æ§ã§ã¯ãï¼ãã©ãã¼ããã¦ããã¦ã¼ã¶Aã¨ãã©ãã¼ãã¦ããã¦ã¼ã¶Bã¯å
±éã®ãªã¬ã¼ãµã¼ãã¸ã®æ¥ç¶ãå°ãªãã¨ã1ã¤ãªãã¨ãBã¯Aã®æ稿ãåå¾ãããã¨ãã§ããªã
- æ¥ç¶ãããªã¬ã¼ãµã¼ããå¤æ´ããéãªã©ã«ããã©ãã¼ãã¦ãã¦ã¼ã¶ãè¦å¤±ãããã©ãã¯ã¼ãç½®ãå»ãã«ãã¦ãã¾ããã¨ãããã¨ãèµ·ãã
- ç¾ç¶ã§ã¯ã¦ã¼ã¶æ°ãããã¦å¤ããªããå®çããã¦ã¼ã¶ã®å質æ§ããã³ã³ã»ã³ãµã¹ãæç«ããããã¦ããã®ã§ãä¾ãã°JPãªã¦ã¼ã¶ã¯ç¹å®ã®ããã¤ãã®ãªã¬ã¼ãµã¼ãã«æ¥ç¶ãã¦ããã°OKãã¨ãããããªã¦ã¼ã¶å´ã®å·¥å¤«ã§ã©ãã«ããªã£ã¦ããã¨ããããã
- ã¦ã¼ã¶ã¯èªèº«ã®æ稿ãã¡ã¿ãã¼ã¿ã®åé·æ§ã確ä¿ãããããã¾ãä¸ã®ããã§è¨è¿°ããããã«ãã©ãã¯ã¼ãæ¥ç¶ãã¦ãããªã¬ã¼ãµã¼ãã«ãã¼ã¿ãéä¿¡ããå¿ è¦ããããããå°ãªãã¨ã3ã¤ãã5ã¤ç¨åº¦ã®ãªã¬ã¼ãµã¼ãã«ã¯èªèº«ã®æ稿ã®ãã¼ã¿ãã¡ã¿ãã¼ã¿ãéä¿¡ãã¦ãã
課é¡
- â 1ã¤ã®ãªã¬ã¼ãµã¼ãããã°ããã¯ã©ã¤ã¢ã³ãæ°ã«ã¯å½ç¶éçãåå¨ããã®ã§ãç¾å¨åå¨ãããªã¬ã¼ãµã¼ãã®å°æ°ã ãã§ã¯ãã¦ã¼ã¶ã®å¢å ã«å¯¾å¿ããããªã
- => ï¼ææ¬çã«ã¢ã¼ããå¤æ´ãã¦ãã¯ã©ãµãä¸ä½åã®ãã¥ã¢P2Pã«ã§ãããªãéããï¼ãªã¬ã¼ãµã¼ããå¢ããå¿ è¦ã¯ããã¯ãããã以å¤ã®å¯¾çã«ã¤ãã¦ã¯å¾è¿°
- â¡ä¸ã®ããã§è¨è¿°ããéããªã¬ã¼ãµã¼ããå¢ããå ´åãå¤æ°ã®ãªã¬ã¼ãµã¼ããåå¨ããä¸ã§ãã¦ã¼ã¶ã¯æ¥ç¶ãã¹ããªã¬ã¼ãµã¼ããé©åã«é¸æãããã¨ãã§ããªã
- åæç¥èã®ã¨ããã§ã³ã³ã»ã³ãµã¹ãããã®ã§ã©ãã«ããªã£ã¦ããã¨æ¸ããããã¦ã¼ã¶æ°ãå¢å ãã¦ãåã ã®ãã«ã½ããå¤æ§ã«ãªã£ãå ´åãåããããªæ¹æ³ã§ã¯ã©ãã«ããªããªããªã
- åã¯ã©ã¤ã¢ã³ãã¯ãã©ãã¤ã¼ããã©ãã¯ã¼ãå°ãªãã¨ã1ã¤ï¼åé·æ§ãèããã°2-3ç¨åº¦ï¼ã®ãªã¬ã¼ãµã¼ããå ±éã«æã¤ããã«ãããã³ã°ãã¨ãã¦ããå¿ è¦ããããããã®ãããªãªã¬ã¼ãµã¼ã群ãã¦ã¼ã¶ãç¥ãæ段ã¯ï¼ã³ã³ã»ã³ãµã¹ãæç«ãã¦ããªãå ´åãï¼åå¨ããªã
ã©ã®ãããªæããããããï¼ï¼âæ¡å¼µã®ä½å°ããããããªã¨ããï¼
- æä½éããªã¬ã¼ãµã¼ãã®é£æºã¯å¿ è¦ãªã¯ããã¾ãããªã¬ã¼ãµã¼ãã®ã½ããã¦ã§ã¢ã¯ãã£ã¨ã¤ã³ããªã¸ã§ã³ãã«ãªãå¿ è¦ããã
- å¯è½ã§ããã°ãã¹ã±ã¼ã«ãããããã®ä»çµã¿ã«ã¯ã©ã¤ã¢ã³ããååããããã¨ãèãããã
- ã¯ã©ã¤ã¢ã³ãéã®é£æºãéä¿¡ã³ã¹ãçã«è¦åããªããã£ã¦ããããã
- ã¨ã¯ãããã¯ã©ã¤ã¢ã³ãéã§ã®P2Pã§ã®ç´æ¥éä¿¡ã¾ã§è¸ã¿è¾¼ãã®ã¯çæªãããªã®ã§èããªã
ã
以ä¸ã«ãä¸ã®æãã¤ãã詳細åãã¦ããã
ããã¾ãã¯ããããã¯ã©ã¤ã¢ã³ãå´ã®è¦ä»¶ã¯ä½ã§ãããã確èªããã
ã
ã¯ã©ã¤ã¢ã³ãå´ã®æ å ±åå¾ã«é¢ããè¦ä»¶
- ã¯ã©ã¤ã¢ã³ãã¯æä½éãã©ãã¼ãã¦ããã¦ã¼ã¶ã®æ稿ã®ãã¼ã¿ã¯åä¿¡ã§ããå¿
è¦ããã
- ï¼ã©ãã ãã®æéååä¿¡ã§ããã°ã¯ã¼ã¯ãããã¯æ³å®ããã¦ã¼ã¶ã®ä½¿ãæ¹ã«ãã£ã¦å¤ããã®ã§æ確åã¯é£ããï¼
- ãªã¬ã¼ãµã¼ãã«æããã¦ããå種ã¡ã¿ãã¼ã¿ãï¼èªåã§æã£ã¦ãããã¨ãããã»ããããããä»æ§ã¨ãã¦æ´çãå¿
è¦ãããªæ°ã¯ãããã®ã®ãï¼åä¿¡ã§ããå¿
è¦ããã
- ï¼è¤æ°ã®ç«¯æ«ãã¯ã©ã¤ã¢ã³ãã§åæã«ã¢ããªã±ã¼ã·ã§ã³ãå©ç¨å¯è½ã§ããã¨ããå©ä¾¿æ§ã¯æ¨ã¦ãããªããã¨æãï¼
ã¯ã©ã¤ã¢ã³ãã®åä½ç°å¢çã«é¢é£ããè¦ä»¶
- ã¹ããç¨åº¦ã®ã¹ããã¯ã§ãåä½ããéä¿¡éã«å¶ç´ã®ããã¢ãã¤ã«ãããã¯ã¼ã¯ã§ãç¡çãªã使ãã
- ï¼ãã±æ»ãããããªæ¶è²»ãã°ãåé¡ãèµ·ããªãï¼
- ãªããã¹ããçã®ã¢ãã¤ã«ããã¤ã¹ã§ã®éä¿¡ã«çç®ããã¨ãæ常çã«å¤§éã®éä¿¡ãè¦ãããã¨ã¯ã¯ãªãã£ã«ã«ã ããï¼ç§ã®ç¥ãç¯å²ã§ã¯ãï¼Websocketã®ã³ãã¯ã·ã§ã³æ°ãå¤ãäºèªä½ã¯ãæ°åç¨åº¦ã«åã¾ã£ã¦ããã°ãåé¡ã¨ãªããªãã»ã»ã»ã¯ãï¼è¦ã¨ããã³ã¹ï¼
ã
è¦ä»¶ãè¸ã¾ãã¦ã以ä¸ã
ã
ã
å ·ä½çã«å¿ è¦ãªä»æ§æ¡å¼µä»
確å®ãªãã®ï¼èª²é¡â ã«å¯¾å¿ããå 容ï¼
- ã¯ã©ã¤ã¢ã³ãããå©ç¨ããããã¤ã¹ãç°å¢ãã¦ã¼ã¶ã®æ±ããæ©è½æ§ã«åããã¦å¿ è¦ãªãã¼ã¿éãçµããããã«ãªã
- ã¯ã©ã¤ã¢ã³ããã¤ãã³ãã®ãµãã¹ã¯ã©ã¤ãããã¦ããéã«ãã¤ãã³ãæ
å ±ã1ã¤1ã¤åå¥ã«éãã¨ãåã
ã«éè¤ããæ
å ±ããã£ã¦ç¡é§ãå¤ãã±ã¼ã¹ããããããªã®ã§ãä¸ã¤ã®ã¡ãã»ã¼ã¸ã«è¤æ°ã®å種ã®ã¤ãã³ãæ
å ±ãã¾ã¨ããããããã«ä»æ§æ¡å¼µãã
- ãµã¼ãå´ã®å¦çè² è·ã¯å¢ããããããªããããµã¼ãã»ã¯ã©ã¤ã¢ã³ãã¨ãã«éä¿¡éã¯åæ¸ãããã¯ã
ã¢ã¤ãã¢ã¬ãã«ã®ãã®ï¼èª²é¡â¡ã«å¯¾å¿ããå 容ï¼
- ãªã¬ã¼ãµã¼ããé£æºããåæã§ãåæ£ããã·ã¥ãã¼ãã«ï¼DHTï¼ã®ä»çµã¿ã使ã£ã¦ãå
¬ééµã®å¤ããããã¦ã¼ã¶ãæ
å½ãããªã¬ã¼ãµã¼ãã決ããããã«ãã*2
- ããã¦ã¼ã¶ã®ãã¼ã¿ãä¿æãã¦ãããªã¬ã¼ãµã¼ãããå
¨ã¦ã®ãªã¬ã¼ãµã¼ãã lookup ãããã¨ãã§ããããã«ãªããããå½è©²ã¦ã¼ã¶ã®ãã¼ã¿ãåå¾ãããã¦ã¼ã¶ï¼ã¯ã©ã¤ã¢ã³ãï¼ã¯ãååã¯é©å½ãªãªã¬ã¼ãµã¼ãã«ãµãã¹ã¯ã©ã¤ãè¦æ±ãæããè¦æ±ãåãä»ãããªã¬ã¼ãµã¼ãã¯ãã®è¦æ±ãHTTPã§ã®ãªãã¤ã¬ã¯ãã®ãããªå½¢ã§æ
å½ãªã¬ã¼ãµã¼ãã«åãããªãã¤ã¬ã¯ããããã¯ã©ã¤ã¢ã³ãã¯ä»¥å¾ããªãã¤ã¬ã¯ãå
ã®æ
å½ãªã¬ã¼ãµã¼ãã«ãµãã¹ã¯ã©ã¤ãã®ãªã¯ã¨ã¹ããè¡ã
- ã¤ãã³ããã¼ã¿ãæããå ´åãåºæ¬çã«ã¯åæ§
- åé·æ§ã®ç¢ºä¿ã®ãããæ å½ãªã¬ã¼ãµã¼ãã¯1ã¤ã§ãããã®ã®ãããããã¹ã¿ã¼ã¨ãã¦ãä»ã«ï¼ããã§ã¯ã²ã¨ã¾ãï¼2ã¤ãã®ã¹ã¬ã¼ãæ å½ã®ãªã¬ã¼ãµã¼ããDHTã®ä»çµã¿ã®ä¸ã§ãå ±éã®ã«ã¼ã«ã«åºã¥ãå®ããããå½¢ã¨ãããããã®ã¢ãã¬ã¹æ å ±ã¯ãã¼ã¿ãæãã¤ããã¯ã©ã¤ã¢ã³ãããµãã¹ã¯ã©ã¤ãããã¯ã©ã¤ã¢ã³ãã®ãããã«ãããªãã¤ã¬ã¯ããè¡ãããéã«è¿å´ãããããã«ãã
- ãã¼ã¿ãæãã¤ããéã¯ãã¹ã¿ã¼ã ãã§ãªãã¹ã¬ã¼ãå ¨ã¦ã«æãããã®ã¨ãã
- ãµãã¹ã¯ã©ã¤ãããã¯ã©ã¤ã¢ã³ãã¯ãã¹ã¿ã¼ã¨ãã¹ã¬ã¼ãã®ãã¡ã®1ã¤ã§ãåããã¦2ã¤ã®ãªã¬ã¼ãµã¼ãã«æ¥ç¶ãããã®ã¨ãã
- ã©ã¡ãããããã¦ã³ããããµã¼ãã¹ãåæ¢ããããããä¸ã¤ã®ã¹ã¬ã¼ãã«æ¥ç¶ãã
- ãã¹ã¿ã¼ã主ä½ã¨ãã¦ã常ã«ã¹ã¬ã¼ãã¯è¦å®å°æ°ç¶æããã足ããªããªãã°æ°ãã«è¿½å ãããã®ã¢ãã¬ã¹ãã¯ã©ã¤ã¢ã³ãã«éç¥ãã
- ãã¹ã¿ã¼ãããªããªã£ãå ´åã¯ä¸çªå¤æ ªã®ã¹ã¬ã¼ãããã¹ã¿ã¼ã«æã代ãããæ°ããªã¹ã¬ã¼ãã1ã¤æ±ºå®ãããã¹ã¿ã¼ãåãæ¿ãã£ããã¨ã¨ãæ°ããªã¹ã¬ã¼ãã®ã¢ãã¬ã¹ãã¯ã©ã¤ã¢ã³ãã«éç¥ãã
- ããã¦ã¼ã¶ã®ãã¼ã¿ãä¿æãã¦ãããªã¬ã¼ãµã¼ãããå
¨ã¦ã®ãªã¬ã¼ãµã¼ãã lookup ãããã¨ãã§ããããã«ãªããããå½è©²ã¦ã¼ã¶ã®ãã¼ã¿ãåå¾ãããã¦ã¼ã¶ï¼ã¯ã©ã¤ã¢ã³ãï¼ã¯ãååã¯é©å½ãªãªã¬ã¼ãµã¼ãã«ãµãã¹ã¯ã©ã¤ãè¦æ±ãæããè¦æ±ãåãä»ãããªã¬ã¼ãµã¼ãã¯ãã®è¦æ±ãHTTPã§ã®ãªãã¤ã¬ã¯ãã®ãããªå½¢ã§æ
å½ãªã¬ã¼ãµã¼ãã«åãããªãã¤ã¬ã¯ããããã¯ã©ã¤ã¢ã³ãã¯ä»¥å¾ããªãã¤ã¬ã¯ãå
ã®æ
å½ãªã¬ã¼ãµã¼ãã«ãµãã¹ã¯ã©ã¤ãã®ãªã¯ã¨ã¹ããè¡ã
DHTã§æ å½ãµã¼ãã決ããã¢ã¼ãã®è¯ãã¨ããã¨è¯ããªãã¨ãã
- è¯ãã¨ãã
- ä¸å¤®é権çãªãµã¼ããä¸è¦
- å ã ããªã¬ã¼ãµã¼ããçªç¶ããªããªããã¨ãèæ ®ããã¦ãã
- ä»åèãã¦ããã¢ããªã±ã¼ã·ã§ã³ã¯å²ã¨ããå æ¸ãªã¢ããªã±ã¼ã·ã§ã³ãªã®ã§*3ãã¡ã¿ãã¼ã¿ãé¤ãã¦ãã¤ãã³ããã¼ã¿ãå¤å°æ¶ãããªã©ãã¦ã大ããªæ¯éã¯ãªã
- DHTã§ãã¼ã¿ãæ ¼ç´ããã¨ããã¨ãåæ£Key-Valueã¹ãã¢ã¨ä¼¼ããããªãã®ã¨è¦ãªããªããã¨ããªããããããããã¼ã¿ã¹ãã¢ã»ã©ä¿¡é ¼æ§ãããã¼ã¿ã®ä¸è²«æ§ã«ã»ã³ã·ãã£ãã«ãªãå¿ è¦ã¯ç¡ã
- è¯ããªãã¨ãã
- ãã®æã®ãã®ã¯ãã¾ãå®è£ ããªãã¨æå¾ éãã«åããªãå ´åãå¾ã ã«ãã¦ããï¼ï¼
- ã¯ã©ã¤ã¢ã³ã観ç¹ã§ã¯ããã©ãã¼ãã¦ããã¦ã¼ã¶ã«ããããæ¯ä¾ãã¦æ¥ç¶ãã¹ããªã¬ã¼ãµã¼ããå¢ãã
- ï¼ã¤ã®ãªã¬ã¼ãµã¼ãã¯è¤æ°ã®ã¦ã¼ã¶ãæ å½ãããã¨ã«ãªãã®ã§ãå®å ¨ã«æ¯ä¾ãããã¨è¨ãã°ããã§ã¯ãªã
- ãã ããæ¥ç¶æ°ãå¢ãã¯ããããåä¿¡ããªããã°ãªããªããã¼ã¿ã®éã¯åºæ¬çã«ã¯å¤ãããªãï¼ã¯ãï¼
ãªãã¨ãªãæã£ã¦ãããã¨
- Twittetrã§ã"ã¯ã©ã¹ã¿"ãªã©ã¨ããè¨èãããããå®å ¨ã«ããããã¯ããç¨åº¦ãã½ã¼ã·ã£ã«ãããã¯ã¼ã¯ã®ä¸ã«ã¯åæãèµ·ãã¦ãã
- ãã®åæã«çç®ããã¦ã¼ã¶æ°ã®å¢å ã«çæ£é¢ãã対å¿ããã®ã§ã¯ãªããåæããã¦ãã"ã¯ã©ã¹ã¿"ã®ä¸ã§ã®ããã¨ãã§ããã°å¤§ããªé 延ãªãè¡ãããã¨ãã¿ã¼ã²ããã¨ãããªã¬ã¼ãµã¼ãã»ã¯ã©ã¤ã¢ã³ããé£æºãã¦ãä¸è¿°ã®æ å½ãµã¼ãã決ã¾ãããã«ã§ããã°ããã©ãã¼ãã¦ãã¦ã¼ã¶æ°ã«ï¼ããããï¼æ¯ä¾ãã¦ãªã¬ã¼ãµã¼ãã¸ã®æ¥ç¶æ°ãå¢ãããããªãã¨ã¯é¿ããããã®ã§ã¯ãªãããã¨ã
- "ã¯ã©ã¹ã¿" ããã¬ãã®è©±ã¨åæ§ã«ããã©ãã¯ã¼ãé常ã«å¤ãã¦ã¼ã¶ã¯åããªã¬ã¼ãµã¼ãã«ã¾ã¨ãããã¨ãããã°è¯ãã®ããï¼
- ä¸ã®æ¹ã§ "ãªã¬ã¼ãµã¼ãã®ã½ããã¦ã§ã¢ã¯ãã£ã¨ã¤ã³ããªã¸ã§ã³ãã«ãªãå¿
è¦ããã" ã¨æ¸ãããããã®ãããã¯ãã®ã»ã¯ã·ã§ã³ã§è¨è¿°ããå
容ãããã«ã¤ãªãã£ã¦ããããã
- ãªã¬ã¼ãµã¼ããã¯ã©ã¤ã¢ã³ãã«è¨ãããéããã¼ã¿ãæ ¼ç´ãè¿ãã¨ããã ãã§ãªããæ±ã£ã¦ãããã¼ã¿ã®ä¸ã®é²è¦§ã許ãããé¨åã®å 容ãåæãã¦ãä»ã®ãªã¬ã¼ãµã¼ãã¨æ å ±ãå ±æããã¨ãã£ããã¨ãããããã«ãªããªãã¨ãããã§æ¸ãããããªãã¨ã¯å®ç¾ã§ããªãã¯ãã§ãã
ã
ã
ã²ã¨ã¾ãã以ä¸!
*1:ãããã³ã«ä»æ§ã¯ããã§ç®¡çããã¦ãã
*2:ãªã¬ã¼ãµã¼ãã¯éç¨éå§æã«é©å½ã«èªèº«ã®DHTä¸ã§ã®IDã決å®ãããä¾ãã°ãã°ãã¼ãã«IPã¢ãã¬ã¹ãããã·ã¥ããã¨ãã§è¯ã
*3:ç¾å¨ã§ããã¹ããã¡ããã¨å±ãã¦ãããã¨è¨ãã¨æªãããããããããã®ã ã¨æã£ã¦ã¦ã¼ã¶ã¯å容ãã¦ããããã«è¦ãã
èå¯: Nostrãããã³ã«ã¯ãªã¼ãã¬ã¤ãããã¯ã¼ã¯ãæ§æããããã®ãããã³ã«ãªã®ã§ã¯ãªããï¼
Nostrãããã³ã«ã£ã¦ä½ãããã¨ããæ¹ã¯ã¾ã以ä¸ã®è¨äºãªã©ãåç §ããã ããã¨è¯ããã¨ã
ãã¦ãèªè ã®æ¹ã ãNostrãããã³ã«ã®æ¦è¦ã¯ç解ãã¦ããåæã§ä»¥ä¸ãæ²é¡ã«é¢ãã¦ã
ãæ°æ¥åã«Nostrï¼ãããã³ã«ä¸ã§æ§æãããTwitterã©ã¤ã¯ãªãã¤ã¯ãããã°ï¼ã§ follow ãã¦ãããããã¦ã¼ã¶ããNostrï¼ãããã³ã«ï¼ã¯ãªã¬ã¼ãµã¼ããä¿¡é ¼ãã¦ãªãã¨ããç¹ã§P2Pã¨åãã§ããããªã¬ã¼ãµã¼ãã¯ãã ã®ããã§ãããã¨ãã£ã主æ¨ã®ãã¨ãæ稿ãã¦ãã¦ããããèªãã§ããï¼ã£ã¨ã²ãããããã¨ããã£ãã
ãããã¯ãNostrãããã³ã«ã¨ããã®ã¯ãæ¬è³ªçã«ã¯ã¯ã©ã¤ã¢ã³ãããã¼ãã¨ãã¦peer-to-peerã§ããã¨ãã§ãããªã¼ãã¬ã¤ãããã¯ã¼ã¯ï¼ä»¥éããªã¼ãã¬ã¤ã¨ç¥è¨ï¼ã«è¿ããã®ãæ§æãããããã³ã«ãªã®ã§ã¯ãªãããã¨ããè¦æ¹ã§ããã
- ãªã¼ãã¬ã¤ã§ã®ã¢ãã¬ã¹ã¯å ¬ééµ
- ã¯ã©ã¤ã¢ã³ãããªã¼ãã¬ã¤ä¸ã§ã®ãã¼ãã«å¯¾å¿ã¥ã
- å
¬ééµãæå®ãããã¨ã§P2Pã§ã®éä¿¡ãå¯è½
- ãã ãåä¿¡ãããã®ã¯åä¿¡å´ãéä¿¡å ããã®ã¡ãã»ã¼ã¸ãå¾ ã¡åãã¦ããã¿ã¤ãã³ã°
- éä¿¡æã«å¾
ã¡åãã¦ããç¶æ
ã§ããã°ããã®ã¿ã¤ãã³ã°ã§åä¿¡ããã
- åä¿¡å´ãå¾ ã¡åãããªãï¼=è¦ãã¦ããªãï¼éä¿¡å ããã®ã¡ãã»ã¼ã¸ã¯åä¿¡ãããªã
- ä¸åº¦éä¿¡ããã¡ãã»ã¼ã¸ã¯éä¿¡æã«ç¸æããªãã©ã¤ã³ã§ãããããã¯ã¼ã¯ã«å¾©å¸°ããã¿ã¤ãã³ã°ã§åä¿¡ã§ãã
- ä»ã®ãã¼ã群ã«ãã´ã·ãããããã³ã«*1çã«ããä»ã®ãã¼ãã¨ã®é£æºãè¦ããææ³ãç¨ããã«ãæ¯è¼çé«éã«ã¡ãã»ã¼ã¸ã®ããã¼ããã£ã¹ã/ãã«ããã£ã¹ããå¯è½
- ãªãããã®éä¿¡ã«ããã¦ããåä¿¡å´ã®ãã¼ãã¯ãéä¿¡æã«ãªãã©ã¤ã³ã§ãããªã³ã©ã¤ã³ã«æ»ã£ãéã«ã¡ãã»ã¼ã¸ãåä¿¡ã§ãã
ãã§ãä¸ã®ãããªéä¿¡ç¹æ§ãå®ç¾ãã¦ããã®ãããªã¼ãã¬ã¤ã®ä¸ã®ã¬ã¤ã¤ã«ãããªã¬ã¼ãµã¼ãã§ããã
ãã¯ã©ã¤ã¢ã³ãããåä¿¡ããã¡ãã»ã¼ã¸*2ã¯ãå¿
è¦ãããã°ä»ã®ã¯ã©ã¤ã¢ã³ãã«ããã¼ããã£ã¹ã/ãã«ããã£ã¹ãå¯è½ã§ããããã¡ãã»ã¼ã¸ã³ã°ããã«ã¦ã§ã¢ï¼ãªãã¡ããMQã¨ãã£ãååãæã¤é¡ã®ãã®ï¼ã®ããã«ãããã¯ã©ã¤ã¢ã³ãããåãåã£ãã¡ãã»ã¼ã¸ã¯ãä»æ¹ã®ã¯ã©ã¤ã¢ã³ãããªã¬ã¼ãµã¼ãã«æ¥ç¶ãã¦ãã¡ãã»ã¼ã¸ã®åä¿¡ããµãã¹ã¯ã©ã¤ãããæç¹ã§éä¿¡ãã¦ããã*3ã
ããªã¼ãã¬ã¤ã¨ãã¦è¦ãã¨ãæ確ã«å½ã¦ã¯ã¾ããªãã®ã¯èªèº«ãä»ã®ãã¼ãããã¡ã¿ãã¼ã¿ï¼ãã©ãã¼ãã¦ããã¦ã¼ã¶ã®æ
å ±ãæ¥ç¶ãã¦ãããªã¬ã¼ãµã¼ãã®æ
å ±ï¼ããï¼è注ã®æ¡ä»¶ãæºãããã®ã®ãã¡ã®ï¼ä»»æã®ãã¼ã*4ã«ã¤ãã¦ããããã¯ã¼ã¯ããåãåºããç¹ã
ãã®ç¹ã¯ãåé ã§"ãªã¼ãã¬ã¤ãããã¯ã¼ã¯ã«è¿ããã®"ã¨æ¸ãã¦ããããã«ãç´ ç´ã«ãªã¼ãã¬ã¤ãããã¯ã¼ã¯ãæ§æãããã®ãã¨è¨ã£ã¦ããªãçç±ã®ä¸ã¤*5ã
ãããæ´çããã¨ãã¯ã©ã¤ã¢ã³ãã®ä»äºï¼å¿
è¦ãªå¦çã®ç·éï¼ããããã¨å¤ã*6ã®ãç´å¾ãããã
ãä»ã«ã¯ãä¾ãã°ããªã¬ã¼ãµã¼ãã«ä¿æããã¦ãããã¡ã¿ãã¼ã¿ãæ¶ãã¦ãã¾ã£ãããå
容ãæ¬ ãã¦ãã¾ã£ããããã®ãããªã¼ãã¬ã¤ã®ã¬ã¤ã¤ããè¦ãã¨ãããã¯ã¼ã¯ãæä¾ããè¬æ©è½ã使ã£ã¦ã以ä¸ä»æ¹ãªãããªã¼ãã¬ã¤ä¸ã®ãã¼ãï¼èªèº«ããã³ãã®ä»ãã¼ãï¼ã«ãããã©ãã¼ãå¿
è¦ãªã®ã§ã¯ï¼ã¨ãã話ã«ãªãããã§ããã
ãå®éãæåã«ã¯ãªãããWebãµã¼ãã¹ã¨ãã¦ã¡ã¿ãã¼ã¿ãé£ãã å ´åã®å¾©å
ãå¯è½ã¨ããããã®ãµã¼ãã¹ãæå¿ã«ããæä¾ããã¦ããããå½è©²ãµã¼ãã¹ã¯å
é¨çã«Nostrãããã³ã«ãæ±ã£ã¦ãããããã¯ä¸ç¨®ã®ã¯ã©ã¤ã¢ã³ãã§ããªã¼ãã¬ã¤ã®ã¬ã¤ã¤ã§ããã°ãã¼ãã§ããã
*1:ããã¾ã§ä¸ä¾ããã£ã¨å¹ççãªãããã³ã«ãå©ç¨å¯è½ãªã¢ã¼ããã¯ãã£ãã¨ã£ã¦ããåæ£ã·ã¹ãã ãå¤æ°ãã
*2:Nostrãããã³ã«ã§ã¯ã"ã¤ãã³ã"ã¨å¼ã°ãã
*3:ã¡ãã»ã¼ã¸ã³ã°ããã«ã¦ã§ã¢ã®ããã«å°éä¿è¨¼ã¾ã§ã¯ãã¦ãããªãã
*4:å°ãªãã¨ãåå¾å¯¾è±¡ã®ã¡ã¿ãã¼ã¿ã®æã¡ä¸»ãå½è©²æ å ±ãæ¸ãè¾¼ãå ã®1ã¤ã«è¨å®ãã¦ãã¦ãåå¾ããå´ãå½è©²æ å ±ã®åå¾å ã®ä¸ã¤ã¨ãã¦è¨å®ãã¦ãããªã¬ã¼ãµã¼ããåå¨ãã
*5:ä»ã®ãã¼ãã®å©ããåããã«ãæå·®ããã§ã¡ãã»ã¼ã¸ãåä¿¡å¯è½ãªç¹ããããã¼ããã£ã¹ããã§ããç¹ãããããã ããã¨ãã話ã¯ãããããããããã¯ç¹æ®ãªãªã¼ãã¬ã¤ã§ãããã¨ããæ´çã«ãã¦ãã¾ã£ã¦ãããããªãã¨
*6:å°ãªãã¨ãTwitterã©ã¤ã¯ãªãã¤ã¯ãããã°ã®ã¢ããªã±ã¼ã·ã§ã³ãªã©ã§ã¯ãã¦ã¼ã¶ã®ã¯ã©ã¤ã¢ã³ãã«å¯¾ããè¨å®ã«ãããããå¤æ°ã®ãªã¬ã¼ãµã¼ãã¨Websocketã³ãã¯ã·ã§ã³ãæã¡ã大éã®ã¡ãã»ã¼ã¸ãå¦çããå¿ è¦ãããã±ã¼ã¹ãå¤ã
A small resource consumption oriented Nostr Web client: algia-web
I developed a Nostr client called algia-web!
github.com
The client is listed at "awesome-nostr" page which is popular in Nostr related people, though the listing is requested by myself ^^;
èªä½RDBMSããããï¼
ä¸ã®åºå¼µçã®å ã³ã³ãã³ãã§ããGitHub Pagesã¯ä»¥ä¸ã ãã¡ãã¯ä»å¾ãæ´æ°ããã¦ããäºå®ã§ãã