ããã¯ã Storjã®ããªã³ã·ãã«ãœãããŠã§ã¢ãšã³ãžãã¢ã§ããMarton Elekã«ãã£ãŠæžãããã²ã¹ãæçš¿ã§ãã
ãã®2éšæ§æã®ã·ãªãŒãºã® ããŒã1 ã§ã¯ãWeb3ãšDockerã®å ±ééšåãæŠå¿µã¬ãã«ã§èª¬æããŸããã ãã®æçš¿ã§ã¯ãæãæ±ããŠã忣åã¹ãã¬ãŒãžãå«ãå®éçãªäŸã確èªããŸãã
Web3ãããžã§ã¯ããDockerãšçµ±åããæ¹æ³ãèŠãããšæããŸãã æåã«ã2ã€ã®ãªãã·ã§ã³ããéžæããå¿ èŠããããŸãã
- Dockerã䜿çšããŠãWeb3ã¢ããªã±ãŒã·ã§ã³ãã³ã³ããåã§ããŸãã ã³ã³ããå ã§IPFSããŒã¢ã³ãŸãã¯ã€ãŒãµãªã¢ã ããŒããèµ·åããããšãã§ããŸãã Dockerã¯ãã³ã³ããå ã§ã»ãšãã©äœã§ãå®è¡ã§ãããããã€ã³ãã©ã¹ãã©ã¯ãã£ã¬ã€ã€ãŒã«äŒŒãŠããŸãã
- æãè峿·±ãã®ã¯ãDockerèªäœãWeb3ãããžã§ã¯ããšçµ±åããããšã§ãã ããã«ã¯ãWeb3ã䜿çšããŠãã³ã³ãããèµ·åããããã³ã³ããå ã§äœããå®è¡ããããããšãã«åœ¹ç«ã¡ãŸãã ãã®æçš¿ã§ã¯ããã®éšåã«çŠç¹ãåœãŠãŸãã
ã³ã³ãã㌠ãšã³ãžã³ã®æãæçœãª 2 ã€ã®çµ±åãã€ã³ãã¯ãå®è¡ãšã¹ãã¬ãŒãžã§ãã ããæçãã忣åã¹ãã¬ãŒãžãªãã·ã§ã³ãçŸåšå©çšå¯èœã§ãããããããã§ã¹ãã¬ãŒãžãéžæããŸãã ã¯ã©ãŠã ã³ã³ãã㌠ã©ã³ã¿ã€ã ã®åæ£åããŒãžã§ã³( ankrãªã©)ã«ã¯ããã€ãã®è峿·±ãã¢ãããŒãããããŸãããã³ã³ãã ãšã³ãžã³èªäœã§ã¯ãªããKubernetes ãªã©ã®ã³ã³ãã㌠ãªãŒã±ã¹ãã¬ãŒã¿ãŒã«ä»£ããå¯èœæ§ãé«ãã§ãã
忣åã¹ãã¬ãŒãžã§Dockerã䜿çšããŸãããã ãã®äŸã§ã¯ Storjã䜿çšããŠããŸããããã¹ãŠã®äŸã¯ã»ãšãã©ãã¹ãŠã®åæ£åã¯ã©ãŠãã¹ãã¬ãŒãžãœãªã¥ãŒã·ã§ã³ã«é©çšãããŸãã

Storjã¯åæ£åã¯ã©ãŠãã¹ãã¬ãŒãžã§ãããããŒããããã€ããŒã¯ããŒã¿ããã¹ãããããã«å ±é ¬ãåãåããŸãããã¡ã¿ããŒã¿ãµãŒããŒ(æå·åãããéšåã®å Žæã管çãã)ã¯ãã§ãã¬ãŒã·ã§ã³ãããŸã(å€ãã®çžäºéçšå¯èœãªäžå€®ãµãŒããŒã¯ã¹ãã¬ãŒãžãããã€ããŒãšé£æºã§ããŸã)ã
忣åã¹ãã¬ãŒãžã§ã¯ãã»ãšãã©ã®å Žåãã«ã¹ã¿ã ãããã³ã«ã䜿çšããå¿ èŠãããããšã«æ³šæããŠãã ããã åŸæ¥ã®HTTPã¢ããããŒãã¯ã1ã€ã®ã¯ã©ã€ã¢ã³ããš1ã€ã®ãµãŒããŒéã®æ¥ç¶ã§ãã 忣åã§ã¯ãè€æ°ã®ãµãŒããŒã«ããŒã¿ãã¢ããããŒãããå¿ èŠããããŸããÂ
ç§ãã¡ã®ç®æšã¯åçŽã§ã:äžå€®ã®Dockerã¬ãžã¹ããªã®ä»£ããã«åæ£åã¹ãã¬ãŒãžã§ã³ãã³ã docker pull ã䜿çšã docker push ãããšèããŠããŸããææ°ã® DockerCon ãã¬ãŒã³ããŒã·ã§ã³ã§ã¯ãè€æ°ã®ã¢ãããŒããç¹å®ããŸããã
- Dockerãšã³ã³ããã倿ŽããŠãããŸããŸãªã¹ãã¬ãŒãžãªãã·ã§ã³ããã€ãã£ãã«ãµããŒãã§ããŸã
- 忣åã¹ãã¬ãŒãžããéæ³ã®ããã«ç»åãããŠã³ããŒãããã³ã³ãããšã³ãžã³ã®ä¿åå Žæã«ä¿æããããŒã«ãæäŸã§ããŸã(ãã¡ãããæ£ãã圢åŒã§)
- 䜿ãæ
£ããDockerã¬ãžã¹ããªã®HTTPãªã¯ãšã¹ãã忣åã¯ã©ãŠãã«åºæã®ãããã³ã«ã«å€æãããµãŒãã¹ãå®è¡ã§ããŸã
- ããã¯ãŠãŒã¶ãŒãèªåã§ç®¡çã§ããŸãã
- ããã¯ããããŒãžã ãµãŒãã¹ã«ããããšãã§ããŸãã
ãã€ãã£ããµããŒãã®æŽ»çš
çæ³çãªè§£æ±ºçã¯ãDocker(ããã³/ãŸãã¯åºç€ãšãªãã³ã³ããã©ã³ã¿ã€ã )ãæ¡åŒµããŠãããŸããŸãªã¹ãã¬ãŒãžãªãã·ã§ã³ããµããŒãããããšã ãšæããŸãã ããããããã¯ééããªããã倧ããªèª²é¡ã§ãã æè¡çã«ã¯ããã¹ãŠã®ãµãŒãã¹ã倿Žããããšã¯å¯èœã§ãããå€§èŠæš¡ãªæ¡çšãšå€§èŠæš¡ãªãŠãŒã¶ãŒããŒã¹ã¯ãå€§èŠæš¡ãªå€æŽã«ã¯æ
éãªèšç»ãå¿
èŠã§ããããšãæå³ããŸãã
çŸæç¹ã§ã¯ãç¹å¥ãªããã·ã¥ ã¿ãŒã²ãããŸãã¯ãã« ã¿ãŒã²ããã䜿çšããããã« Docker ããŒã¢ã³ãæ¡åŒµããããšã¯å®¹æã«ã¯ã§ããŸããã æè¡çãªè©³çްãšçµ±åã®èª²é¡ã«èå³ãããå Žåã¯ã Dockerã®æ¡åŒµã«é¢ãããã¬ãŒã³ããŒã·ã§ã³ ãã芧ãã ããã æåã®è§£æ±ºçã¯ã æ€èšäžã®æ°ããã³ã³ãããã©ã°ã€ã³ã¿ã€ããããããŸããã
ãã®ã¢ãããŒãã®å©ç¹ã® 1 ã€ã¯ã䜿ããããã§ãã ãŠãŒã¶ãŒã¯ãäžè¬çãªããã·ã¥ ã³ãã³ããŸãã¯ãã« ã³ãã³ããå©çšã§ããŸãã ãã ãããã¹ãã«åºã¥ããŠãã³ã³ããã¬ã€ã€ãŒã忣åã¹ãã¬ãŒãžã«éä¿¡ã§ããŸãã
ããŒã«ããŒã¹ã®ããã·ã¥ãšãã«ã®äœ¿çš
å¥ã®ãªãã·ã§ã³ã¯ããªã¢ãŒã忣åã¹ãã¬ãŒãžãçŽæ¥äœ¿çšããŠã³ã³ãããšã³ãžã³ã®ã¹ãã¬ãŒãžãã£ã¬ã¯ããªã«ä¿åã§ããå€éšããŒã«ã䜿çšããŠç»åãã¢ããããŒããŸãã¯ããŠã³ããŒãããããšã§ãã
ãã®ã¢ãããŒãã®äžäŸ (ãã ããéäžåã¹ãã¬ãŒãžã䜿çš) ã¯ã AWS ECR ã³ã³ãããªãŸã«ã㌠ãããžã§ã¯ãã§ãã ã«ã¹ã¿ã ãœãŒã¹ã䜿çšããŠã€ã¡ãŒãžããã«ããã³ããã·ã¥ã§ããCLIããŒã«ãæäŸããŸãã ãŸããããããcontainerdããŒã¢ã³ã®ã³ã³ããã€ã¡ãŒãžãšããŠä¿åããŸãã
æ®å¿µãªããããã®ã¢ãããŒãã«ã¯ããã€ãã®åŒ·ãå¶éããããŸãã
- Kubernetes ã®ãããªã³ã³ãã㌠ãªãŒã±ã¹ãã¬ãŒã¿ãŒã§ã¯ãã€ã¡ãŒãžã®ãã«ãããã·ã¥ä»¥å€ã®ã«ã¹ã¿ã CLI ã³ãã³ããå®è¡ããæºåãã§ããŠããªããããåäœããŸããã§ããã
- ã³ã³ããåºæã§ãã ã¹ãã¬ãŒãžãç°ãªãDockerããŒã¢ã³ã¯ããããçŽæ¥äœ¿çšã§ããŸããã§ããã
- ãŠãŒã¶ãŒã¯ç°ãªãCLIããŒã«ãå¿ èŠãšããããã䜿ãããããäœäžããŸãã
ãŠãŒã¶ãŒã»ãããŒãžã£ãŒã»ã²ãŒããŠã§ã€ã®äœ¿çš
忣åã¹ãã¬ãŒãžã«çŽæ¥ããã·ã¥ãŸãã¯ãã«ã§ããªãå Žåã¯ãDockerã¬ãžã¹ããªã«äŒŒããµãŒãã¹ãäœæããå
éšã§ã¡ãã·ã¥ client.ut ãã忣åã¹ãã¬ãŒãžã®ãã€ãã£ããããã³ã«ã䜿çšããŠããŒã¿ãã¢ããããŒãã§ããŸãã
ããã¯ãããããããšã«ããŸãæ©èœãã æšæºã®Dockerã¬ãžã¹ããªå®è£ ã¯ãã§ã«ããŸããŸãªã¹ãã¬ãŒãžãªãã·ã§ã³ãšäºææ§ããããŸããÂ
Storjã«ã¯ããã¹ãã€ã¡ãŒãžã«å
éšã§äœ¿çšãã å®è£
ããã§ã«ãããŸã ã ãã ãããµãã³ãã³ãã¯ã nerdctl ipfs ãã®ã¢ãããŒãã®å¥ã®è¯ãäŸã§ã(IPFSããã³ã³ããã«ã¢ã¯ã»ã¹ããããã«ããŒã«ã«ã¬ãžã¹ããªãéå§ããŸã)ã
ããã§ãåé¡ããããŸãã
- ãŠãŒã¶ãŒã¯ãåãã¹ãã§ã²ãŒããŠã§ã€ãå®è¡ããå¿ èŠããããŸãã ããã¯ãKubernetes ãä»ã®ãªãŒã±ã¹ãã¬ãŒã¿ãŒãšäžç·ã«èŠçã«ãªãå¯èœæ§ããããŸãã
- å®è£ ã¯ããã€ãã£ãã®ã¢ããããŒããŸãã¯ããŠã³ããŒããšæ¯èŒããŠãããè€éã§å°é£ãªå ŽåããããŸãã
ãã¹ãåã²ãŒããŠã§ã€ã®äœ¿çš
å°ãç°¡åã«ããããã«ãã²ãŒããŠã§ã€ã®ãã¹ãããŒãžã§ã³ãæäŸã§ããŸãã ããšãã°ãStorj ã¯ããã¹ãå (ãŸãã¯ã»ã«ããã¹ãå) ã® S3 äºæ HTTP ã²ãŒããŠã§ã€ãä»ã㊠S3 ãšå®å šã«äºææ§ããããŸãã ãã®æ¹æ³ã§ã¯ããŠãŒã¶ãŒã«ã¯æ¬¡ã® 3 ã€ã®ãªãã·ã§ã³ããããŸãã
- å®å šãªãšã³ãããŒãšã³ãæå·åãšãã¹ãŠã®æ©èœãåãã忣åã¹ãã¬ãŒãžã®ãã€ãã£ããããã³ã«ã䜿çšãã
- 䟿å©ãªã²ãŒããŠã§ã€ãµãŒãã¹ã䜿çšãããã¹ãåã²ãŒããŠã§ã€ã®ãªãã¬ãŒã¿ãŒãä¿¡é ŒããŠãã ããã
- ã²ãŒããŠã§ã€ãåç¬ã§å®è¡ãã
åãªãã·ã§ã³ã¯åãå ¥ããããŸãããå®ç§ãªãœãªã¥ãŒã·ã§ã³ã¯ãŸã ååšããŸããã
ããã«ãŒæ¡åŒµæ©èœã®äœ¿çš
ããŒã«ã«ã²ãŒããŠã§ã€ã䜿çšããéã®æå€§ã®æžå¿µäºé ã®1ã€ã¯ã䜿ããããã§ããã ããŒã«ã«ã¬ãžã¹ããªã¯ãã€ã¡ãŒãžã忣åã¹ãã¬ãŒãžã«ããã·ã¥ããã®ã«åœ¹ç«ã¡ãŸããã远å ã®æè¡çäœæ¥(ã³ã³ããã®æ§æãšå®è¡ãªã©)ãå¿ èŠã§ãã
ããã¯ãDockeræ¡åŒµæ©èœãç§ãã¡ãå©ããããšãã§ãããšããã§ãã æ¡åŒµæ©èœ ã¯ãDocker Desktop ã®æ°æ©èœã§ãã Dockerããã·ã¥ããŒãããã€ã³ã¹ããŒã«ã§ããDockerãã¹ã¯ãããå ã®æ°ããç»é¢ãã¡ãã¥ãŒé ç®ããªãã·ã§ã³ãªã©ã®è¿œå æ©èœãæäŸã§ããŸãã ãããã¯æ¡åŒµæ©èœããŒã±ãããã¬ã€ã¹å ã§èŠã€ããããšãã§ããŸãã

ãããŠãããã¯ãŸãã«ç§ãã¡ãå¿ èŠãšããŠãããã®ã§ã! åªããUIã«ããããã¹ãŠã®ãŠãŒã¶ãŒãWeb3çµ±åã«ã¢ã¯ã»ã¹ãããããªããŸãã
Docker æ¡åŒµæ©èœã¯ Marketplace å ã§ç°¡åã«èŠã€ããããšãã§ããæåã§è¿œå ããããšãã§ããŸã (éåžžã¯éçºçš)ã
Storj ã§ã¯ãDocker Desktop çšã®æ¡åŒµæ©èœãéçºããããšã§ãããåªãããŠãŒã¶ãŒ ãšã¯ã¹ããªãšã³ã¹ã®å®éšãéå§ããŸããã ãŸã éçºäž ã§ãããçŸåšããŒã±ãããã¬ã€ã¹ã«ã¯æäŸãããŠããŸãããããããŸã§ã®ãã£ãŒãããã¯ã«ãããã»ãŒãã¹ãŠã®å©çšå¯èœãªçµ±åãªãã·ã§ã³ã§æå€§ã®æžå¿µäºé ã§ãã£ã䜿ãããããå€§å¹ ã«åäžãããããšãã§ãããšç¢ºä¿¡ããŠããŸãã
æ¡åŒµæ©èœèªäœã¯Dockerã³ã³ããã§ãããããéçºãšã¯ã¹ããªãšã³ã¹ãéåžžã«ã¹ã ãŒãºã§ç°¡åã«ãªããŸãã æ¡åŒµæ©èœã¯ãã³ã³ãããŒå ã®ã¡ã¿ããŒã¿ ãã¡ã€ã«ãšéç㪠HTML/JS ãã¡ã€ã«ãªã©ã®åçŽãªãã®ã«ããããšãã§ããŸãã ããã¯ãšã³ããªãã§ Docker ããŒã¢ã³ã®ç¶æ ãæäœããç¹å¥ãª JavaScript API ããããŸãã
å°çšã®ããã¯ãšã³ãã䜿çšããããšãã§ããŸãã æ¡åŒµæ©èœã® JavaScript éšåã¯ãããŠã³ãããããœã±ãããä»ããŠã³ã³ãããŒåãããããã¯ãšã³ããšéä¿¡ã§ããŸãã
æ°ãã docker extension ã³ãã³ãã¯ãæ¡åŒµæ©èœããã°ãã管çããã®ã«åœ¹ç«ã¡ãŸã(äŸãšããŠãDocker Desktop èªäœã® Web éçºè
ããŒã« ããŒã衚瀺ããç¹å¥ãª docker extension dev debug ãµãã³ãã³ãããããŸã)ã

æäŸãããŠããéçºè ããŒã«ã®ãããã§ã課é¡ã¯Dockerãã¹ã¯ãããæ¡åŒµæ©èœãäœæããããšã§ã¯ãªããUIãšUXã®ãã©ã³ã¹ããšãããšã§ãã
æŠèŠ
ååã®æçš¿ã§èª¬æããããã«ãWeb3ã¯ãã¯ãããžãŒ(ãããã¯ãã§ãŒã³ãNFTãªã©)ã§ã¯ãªãããŠãŒã¶ãŒã®èŠä»¶ã«ãã£ãŠå®çŸ©ããå¿ èŠããããŸããWeb3ãããžã§ã¯ãã¯ããã©ã€ãã·ãŒãããŒã¿å¶åŸ¡ãã»ãã¥ãªãã£ãªã©ã«é¢ãããŠãŒã¶ãŒã®æžå¿µã«å¯ŸåŠããå¿ èŠããããŸãã ãŸãã芪ãã¿ããã䜿ãããããã®ã§ãªããã°ãªããŸããã
ãŠãŒã¶ããªãã£ã¯ã³ã³ããã®åºæ¬ååã§ãããDockerãéåžžã«äººæ°ãåããçç±ã®1ã€ã§ãã Web3ãããžã§ã¯ãã®ãŠãŒã¶ãŒãå¿ èŠãªãã®ãç°¡åã«æäŸã§ããããã«ããã«ã¯ãããå€ãã®çµ±åãã€ã³ããšæ¡åŒµãã€ã³ããå¿ èŠã§ãã Dockeræ¡åŒµæ©èœã¯ãåªããçµ±åãšåªãã䜿ãããããçµã¿åãããããã®éåžžã«åŒ·åãªæ¹æ³ãæäŸããŸãã
Docker çšã® Storj æ¡åŒµæ©èœ (ãŸã éçºäž) ãã詊ããã ãããã³ã¡ã³ãããã£ãŒãããã¯ã¯ GitHub çµç±ã§ãå¯ããã ããã