- TOP
- ã¿ã°äžèЧ
- Ethereum
Ethereum
ã€ãã³ã
該åœããã³ã³ãã³ããèŠã€ãããŸããã§ãã
ãã¬ãžã³
該åœããã³ã³ãã³ããèŠã€ãããŸããã§ãã
æè¡ããã°
Cloudflare Walletsãäœ¿ãæ±ºæžãããã³ã« x402 ãçè§£ãã ç®æ¬¡ ã¯ããã« x402ã察象ãšããèª²é¡ ãããã³ã«ãã㌠⡠402 Payment Required ãš PaymentRequirements scheme ãåãå€ â exact ãš upto ⢠authorization ãžã®çœ²å ⣠PaymentPayload ã®éä¿¡ †verify / settle ãš facilitator 決æžã®ç¢ºå®ãšäžå¯éæ§ HTTPãå©çšããæ§æã®ã¡ãªãã æ¯æã£ãŠãããã®å€æã¯ä»æ§ã®ç¯å²å€ ãŸãšã åè ã¯ããã« ããã«ã¡ã¯ãéçºæ¬éšéçº1éšã® èµ€å· ã§ããé£äºç®¡çã¢ã㪠ãã«ã·ã« ã®éçºãããŠããŸãã ãã€ãšããã»é£äºç®¡çã»äœé管çã»ã«ããªãŒèšç® - ãã«ã·ã« every, Inc. ãã«ã¹ã±ã¢ïŒãã£ãããã¹ ç¡æ 2026幎8æ4æ¥ãCloudflareã Cloudflare Wallets ãçºè¡šããŸãããããã¯ãWebäžã§ãµãŒãã¹ã®è³Œå
¥ãå
¥éãè¡ãããã®ãŠã©ã¬ããã§ãCloudflareã®ã¢ã«ãŠã³ãã«çŽã¥ããŸããçŸæç¹ã§ã¯ãŠã©ã¬ããã®èå¥åã®äºçŽã®ã¿ãæäŸãããŠãããåããšããããäºçŽããŠã¿ãŸããã Cloudflare Wallet TagãäºçŽãã Cloudflare Walletsã§ã¯ãã¢ã«ãŠã³ããæã€WalletããããšãŒãžã§ã³ãã䜿ãVirtual Walletã«æ¯åºæš©éãå§ä»»ã§ããŸãããšãŒãžã§ã³ãã¯Virtual Walletã䜿ã£ãŠãAPIãMCPããŒã«ãã³ã³ãã³ããªã©ã賌å
¥ã§ããŸãã ãã®è³Œå
¥ã®ããåãã«ã¯ã x402 ãšããæ±ºæžãããã³ã«ã䜿ãããŠããŸããx402ã¯ãHTTPã®ãªã¯ãšã¹ããšã¬ã¹ãã³ã¹ã®äžã ãã§å®çµããæ¯æããå¿
èŠã§ããããšã瀺ãã®ã«ãHTTPã¹ããŒã¿ã¹ã³ãŒãã® 402 Payment Required 1 ã䜿ã£ãŠããŸãã æ¬èšäºã§ã¯ãã® x402 ã«ã€ããŠãããã¥ã¡ã³ããããããªãããŸãšããŠã¿ãŸããã x402ã察象ãšããèª²é¡ äŸãã°ææAPIãå©çšããããšæã£ãããæã
ã¯äžè¬ã«æ¬¡ã®æé ãèžã¿ãŸãã ãµãŒãã¹ã«ãµã€ã³ã¢ãããã ã¯ã¬ãžããã«ãŒããªã©ã®æ±ºæžææ®µãç»é²ãã APIããŒãçºè¡ãã ãã®ããŒããªã¯ãšã¹ãã«ä»ããŠåŒã¶ ææ«ã«ãŸãšããŠè«æ±ããã èªèšŒãšèª²éããããŒãšããŠå®å
šã«åé¢ããŠãããããããäºåã®ãµã€ã³ã¢ãããåæãšããŠããŸãã 人éãå©çšããåã«ã¯äœã®åé¡ããªãã§ãããã¯ã©ã€ã¢ã³ããAIãšãŒãžã§ã³ãã§ããå Žåããã®åæãå¶çŽã«ãªããŸããæé 1ã3ã®ãã¡ããµã€ã³ã¢ããããŒãžã¯äººéåãã®UIãšããŠäœãããŠãããæ±ºæžææ®µã®ç»é²ã人éã®æ¿èªãå¿
èŠã§ãããšãŒãžã§ã³ãã¯äºåç»é²ãããèå¥åãæ¯æãææ®µãæããªãããããã®3æé ã®å®è¡ã«ã¯äººéã®ä»åšãå¿
èŠã«ãªããŸãã x402ã¯ãäºåã®ç»é²æç¶ããªãã«æ¯æããæç«ãããæ¹åŒãå®çŸ©ããŠããŸãã ãããã³ã«ãã㌠ãããã³ã«ã®ãããŒã¯æ¬¡ã®ãšããã§ãããã®ç« ã®å³ãèšè¿°ã¯ã x402 Specification v2 ãš Cloudflare ã® x402 ããã¥ã¡ã³ã ã«åºã¥ããŠãããå·çæç¹ã§ææ°ã®v2ã«ã€ããŠæžããŠããŸãã x402ã®ãããã³ã«ãã㌠ãã®ãããŒã«ã¯ãã¢ã«ãŠã³ããã»ãã·ã§ã³ãäºåã«å
±æããAPIããŒãªã©ã¯å«ãŸããŸãããClientãšServerã¯ãã®ãªã¯ãšã¹ãã§åããŠéä¿¡ããæ¯æããæç«ããŸãã â» å®éã®æ¯æãã¯ããããã¯ãã§ãŒã³äžã§ããŒã¯ã³ãéãããšã§æç«ããŸããUSDCãªã©ã®ã¹ããŒãã«ã³ã€ã³ïŒç±³ãã«ãªã©ã®æ³å®é貚ã«äŸ¡å€ãé£åãããããŒã¯ã³ïŒã䜿ãããŸãã â¡ 402 Payment Required ãš PaymentRequirements â ã®ãªã¯ãšã¹ãã«å¯ŸããŠãServerã¯â¡ã§ 402 Payment Required ãè¿ããŸããæ¯æãã®æ¡ä»¶ã¯ PAYMENT-REQUIRED ãããã«ãBase64ãšã³ã³ãŒããããJSONãšããŠèŒããŸãã ãã®JSONã® accepts ãã£ãŒã«ãã«ãæ¯æãã®æ¡ä»¶ãé
åã§å
¥ããŸããèŠçŽ 1ã€ãããã®æ¡ä»¶ã§æã£ãŠãããã°ããã®ãªãœãŒã¹ãæž¡ããããšãã1ä»¶åã®æç€ºã«ããããããã PaymentRequirements ãšåŒã³ãŸããé
åãªã®ã§Serverã¯æ¡ä»¶ã®ç°ãªãè€æ°ã®éžæè¢ã䞊ã¹ãããClientã¯ãã®äžãã1ã€ãéžã³ãŸãã PaymentRequirements ã¯æ¬¡ã®ãã£ãŒã«ãããæ§æãããŸãã ãã£ãŒã«ã å
容 scheme æ¯æãã¹ããŒã ïŒ exact / upto ïŒ network 察象ãããã¯ãã§ãŒã³ïŒBaseãEthereumãSolana ãªã©ïŒ amount éé¡ asset ããŒã¯ã³çš®å¥ïŒUSDC ãªã©ïŒ payTo æ¯æãã®å®å
ã¢ãã¬ã¹ maxTimeoutSeconds ã¿ã€ã ã¢ãŠã scheme ãåãå€ â exact ãš upto scheme ãã£ãŒã«ãã¯æ¯æãæ¹åŒãæå®ããŸãã Cloudflare ã®ããã¥ã¡ã³ã ã«èšèŒãããŠããã®ã¯æ¬¡ã®2ã€ã§ãã exact : åºå®é¡ã®ééã§ããEVMïŒEthereum Virtual MachineïŒ 2 äžã§ã¯ USDC ã payTo ã®ã¢ãã¬ã¹ã«ééããŸããâ¡ã®æç¹ã§éé¡ã確å®ããŠããã±ãŒã¹ã«å¯Ÿå¿ããŸãã upto : äžéé¡ãå
ã«æ¿èªããå®éã®èª²éé¡ãæ±ºæžæã«ç¢ºå®ããŸããLLMã®æšè«APIã®ããã«ãå®è¡ãããŸã§ããŒã¯ã³æ°ã確å®ãããéé¡ãäºåŸã«æ±ºãŸãã±ãŒã¹ã«å¯Ÿå¿ããŸãã ⢠authorization ãžã®çœ²å Clientã¯ã accepts ã®äžããæ¡çšãã PaymentRequirements ã1ã€éžã³ããã®å
容ã authorization ãªããžã§ã¯ãã«åæ ããŠçœ²åããŸããauthorization ã®åœ¢ã¯ã scheme ãšãã§ãŒã³ã®çš®é¡ã®çµã¿åããã§æ±ºãŸããEVMäžã§ exact ã䜿ãå Žåã¯æ¬¡ã®ãã£ãŒã«ããæã¡ãŸãã ãã£ãŒã«ã å
容 from ééå
ã¢ãã¬ã¹ to å®å
ã¢ãã¬ã¹ value éé¡ validAfter / validBefore æå¹æé nonce äžåºŠããã®å€ 眲åã¯èªèº«ã®ç§å¯éµã§è¡ããŸãã眲åãä¿èšŒããã®ã¯ããã®éµã®ä¿æè
ã«ããçæã§ããªãããšã眲å察象ã1ãã€ãã§ãå€ããã°æ€èšŒã«å€±æããããšãã®2ç¹ã§ãã nonce ã¯äžåºŠããã®å€ã§ããã validBefore ã§æå¹æéãåºåããããããåã眲åãä»ã®æ¯æãã«åå©çšããããšã¯ã§ããŸããã ⣠PaymentPayload ã®éä¿¡ 眲åãš authorization 㯠PaymentPayload ã«ãŸãšãããã PAYMENT-SIGNATURE ãããã«èŒã£ãŠãåãURLã«åéãããŸãã PaymentPayload ã¯æ¬¡ã®æ§é ã§ãã { " x402Version ": 2 , " resource ": { ... } , " accepted ": { /* â¡ã® accepts ããéžãã PaymentRequirements */ } , " payload ": { " signature ": " ... ", " authorization ": { " from ": " ... ", " to ": " ... ", " value ": " ... ", " nonce ": " ... " } } } †verify / settle ãš facilitator â€ã§Serverãè¡ãæ€èšŒãšæ±ºæžã¯ãfacilitator ã«å§è²ã§ããŸããfacilitator ã¯ãæ¯æãã®æ€èšŒãšãããã¯ãã§ãŒã³ãžã®éä¿¡ãæ
ããµãŒãã¹ã§ã次ã®2ã€ã®ãšã³ããã€ã³ããæäŸããŸãã POST /verify : æ¯æããã€ããŒããæå¹ããããããã¯ãã§ãŒã³äžã§ééãå®è¡ããã«æ€èšŒãã POST /settle : æ€èšŒæžã¿ã®æ¯æãããããã¯ãã§ãŒã³ã«éä¿¡ããééã確å®ããã facilitator ã®å©çšã¯å¿
é ã§ã¯ãããŸãããããããã¯ãã§ãŒã³ãšã®ããåããæœè±¡åã§ãããããCloudflareã®ããã¥ã¡ã³ãã§ã¯æšå¥šãããŠããŸãã Client㯠facilitator ãšçŽæ¥éä¿¡ãããServerãšHTTPã§éä¿¡ããŸããâ€ã®å
åŽãå±éãããšã次ã®ããã«ãªããŸãã facilitator ãå«ãâ€ã®å
åŽ æ±ºæžã確å®ãããšãServerã¯â¥ã§ãªãœãŒã¹ãè¿ããŸããæ±ºæžã®ç¢ºèªã¯ PAYMENT-RESPONSE ãããã«èŒããŸãã æ±ºæžã®ç¢ºå®ãšäžå¯éæ§ x402ã®æ±ºæžã¯ã1åã®ééã§ç¢ºå®ããŸããã«ãŒã決æžã®ããã«ãæ¯æããæ¿èªããæ®µéãšå®éã«è³éãåãæ®µéãåãããããšã¯ãããŸãããããã«ããããªãœãŒã¹1ä»¶ããšã®ãããªå°é¡ã®æ¯æãã§ãçæéã§æ±ºæžã§ããŸãããåæã«æ¬¡ã®å¶çŽãçããŸãã æ±ºæžãåãæ¶ããªã ãããã³ã«ãšããŠè¿éææ®µãå®çŸ©ããŠããªã 誀ééãè©åã«ããééããã£ãå Žåããããã³ã«ã®ç¯å²ã§ã¯è³éã¯æ»ããŸãããè¿éãææžãå®è£
ããå Žåã¯ãã¢ããªã±ãŒã·ã§ã³å±€ã§å¥éå®çŸ©ããããšã«ãªããŸãã HTTPãå©çšããæ§æã®ã¡ãªãã x402ã¯æ±ºæžå°çšã®ãããã³ã«ãæ°èšãããæ¯æãã®ããåããHTTPã®ãªã¯ãšã¹ã/ã¬ã¹ãã³ã¹ãµã€ã¯ã«ã®äžã§è¡šçŸããŸãããã®ããã¯ã©ã€ã¢ã³ããéžã³ãŸããããšãŒãžã§ã³ããcurlããµãŒãééä¿¡ã®ãããã察象ã«ãªããSDKãå¿
é ã§ã¯ãããŸããã 402å¿çã¯ç¹å®ã®URLã«å¯Ÿããæ¯æãèŠæ±ãªã®ã§ãå€ä»ãã®åäœãURLã«ãªããŸãããšã³ããã€ã³ãããšãMCPããŒã«ããšã«äŸ¡æ Œãè¿ããŸãã æ¯æã£ãŠãããã®å€æã¯ä»æ§ã®ç¯å²å€ x402ã®ä»æ§ãå®çŸ©ããŠããã®ã¯ã3ã€ã®HTTPãããã PaymentRequirements ãš PaymentPayload ã®æ§é ãfacilitator ã® verify / settle ã®æé ãããã³ scheme ã§ãããã©ã®ãããªæ¡ä»¶ã§æ¯æããæ¿èªããããã¯å®çŸ©ãããŠããŸããã仿§äžãæ£ãã眲åããããã€ããŒãã¯æ£åœãªæ¯æããšããŠåŠçãããŸãã Cloudflare Walletsã¯ããã®å€æããŠã©ã¬ããåŽã§çžãä»çµã¿ãæã£ãŠããŸãããšãŒãžã§ã³ãã«æž¡ãVirtual Walletã«ã¯ã䜿ã£ãŠããéé¡ã®æ ïŒallowanceïŒãæ¯æãå
ã®èš±å¯ãªã¹ãïŒallow listïŒã1åãããã®äžéé¡ïŒmaximum transaction sizeïŒãèšå®ã§ããŸãã ãããã¯ãŠã©ã¬ããåŽã®èšå®ãªã®ã§ããšãŒãžã§ã³ããäœãããããšããŠããæ ãè¶
ããééããèš±å¯ãªã¹ãã«ãªãçžæãžã®ééã¯æç«ããŸãããx402ãå®çŸ©ããŠããªããæ¯æã£ãŠããããã®å€æãããšãŒãžã§ã³ãä»»ãã«ããããŠã©ã¬ããã®èšå®ãšããŠæãããŠããæ§æã§ãã ãŸãšã x402ã®ä»æ§ãæŽçãããšã次ã®ããã«ãªããŸãã æ±ºæžå°çšã®ãããã³ã«ãæ°èšãããHTTPã®ãªã¯ãšã¹ã/ã¬ã¹ãã³ã¹ãµã€ã¯ã«ã§æ¯æãã衚çŸãã äºåã®ã¢ã«ãŠã³ããAPIããŒã䜿ããã402å¿çãšãã®åéã ãã§æ¯æããæç«ãã scheme ãšã㊠exact ïŒåºå®é¡ïŒãš upto ïŒäžéé¡ã®äºåæ¿èªïŒãå®çŸ©ãã æ€èšŒãšæ±ºæžã¯ facilitator ã«å§è²ã§ãããå©çšã¯å¿
é ã§ã¯ãªã 決æžã¯ãããã¯ãã§ãŒã³äžã§ç¢ºå®ãããããã³ã«ãšããŠåãæ¶ãææ®µãæããªã æ¯æã£ãŠãããã®å€æã¯ä»æ§ã®ç¯å²å€ã§ãã¯ã©ã€ã¢ã³ãåŽã«å§ãããã æåŸãŸã§ãèªã¿ããã ãããããšãããããŸããã åè Announcing Cloudflare Wallets: The programmable wallet for the agentic Internet - The Cloudflare Blog ïŒ2026幎8æ4æ¥ïŒ x402 - Cloudflare Agents docs x402 Specification v2 - coinbase/x402 RFC 9110: HTTP Semantics - 15.5.3. 402 Payment Required çŸè¡ã®HTTP仿§ã§ãã RFC 9110 ã§ã¯ "The 402 (Payment Required) status code is reserved for future use." ãšèšè¿°ãããŠããŸãã402ãæšæºãšããŠçšéãå®çŸ©ãããŠããªãã£ãããšããåã¯ä»åã®èšäºãæžããŸã§ç¥ããŸããã§ããã ↩ Ethereum ãæ¡çšããŠãããããã¯ãã§ãŒã³ã®å®è¡ç°å¢ã§ãããããæ¡çšãããã§ãŒã³ã¯å€ããCloudflareã®ããã¥ã¡ã³ãã EVM ã«å¯Ÿå¿ãããã§ãŒã³ãšã㊠BaseãEthereumãPolygon ãªã©ãæããŠããŸãã ↩
忣åéè (DeFi) ã®ååŒå€æã«ã¯ããããã¯ãã§ãŒã³ã®äŸ¡æ Œãšæµåæ§ããŒã¿ãå¿
èŠã§ãã ãããããããã¯ãã§ãŒã³ããŒããžã®çŽæ¥ã¯ãšãªã¯éå¹ççã§ãªãœãŒã¹ã倧éã«æ¶è²»ãããããã¿ã€ã ãªãŒãªæææ±ºå®ã®ããã«ããã¯ãšãªããŸãã ãããã¯ãã§ãŒã³ã¯å¹ççãªããŒã¿ã¯ãšãªã«æé©åãããŠããããããŒã¿ã¯é 次 (ãããã¯ããšã«) ä¿åãããŠããŸãã ç¹å®ã®æ
å ±ãååŸããã«ã¯ãå€ãã®å Žåããããã¯ãã§ãŒã³å
šäœãã¹ãã£ã³ããå¿
èŠããããŸãã ã€ã³ãã¯ãµãŒã¯ããã®åé¡ã«å¯Ÿãããœãªã¥ãŒã·ã§ã³ãæäŸããŸãã ã€ã³ãã¯ãµãŒã¯æ°ãããããã¯ãšãã©ã³ã¶ã¯ã·ã§ã³ãç£èŠããæé©åãããã»ã«ã³ããªããŒã¿ããŒã¹ (ãªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ãªã©) ã«ããŒã¿ãä¿åããããã«èšèšã§ããŸãã ãããã®ããŒã¿ããŒã¹ã«ã¯ãã¢ããªã±ãŒã·ã§ã³ãçŽæ¥ã¯ãšãªã§ããçŽæ¥ã¢ã¯ã»ã¹çšã®ã€ã³ããã¯ã¹ãå«ãŸããŠããŸãã ã€ã³ãã¯ãµãŒã¯ããããã¯ãã§ãŒã³ãžã®çŽæ¥ã¯ãšãªãšæ¯èŒããŠé«éãªå¿çæéãæäŸããéå»ããã³çŸåšã®ãããã¯ãã§ãŒã³ããŒã¿ãžã®å¹ççãªã¢ã¯ã»ã¹ã«ãããDeFi ã¢ããªã±ãŒã·ã§ã³ã®ãŠãŒã¶ãŒäœéšãåäžãããŸãã ãããã¯ãã§ãŒã³ã€ã³ãã¯ãµãŒã¯åºãå©çšå¯èœã§ãããæ¢åã®ãœãªã¥ãŒã·ã§ã³ããããã¯ãã§ãŒã³ãå¿
èŠãªããŒã¿ããµããŒãããŠããªãå ŽåãAWS äžã«ã«ã¹ã¿ã ã€ã³ãã¯ãµãŒãæ§ç¯ããå¿
èŠããããŸãã æ¬èšäºã§ã¯ããããã¯ãã§ãŒã³ã®ã·ãŒã±ã³ã·ã£ã«ãªããŒã¿æ§é ã DeFi ã¢ããªã±ãŒã·ã§ã³åãã«å¹ççã«ã¯ãšãªã§ãã圢åŒã«å€æããããããã¯ãã§ãŒã³ã€ã³ãã¯ãµãŒã®éèŠãªåœ¹å²ãšã¢ãŒããã¯ãã£ã«ã€ããŠèª¬æããŸãã ãŸããAWS äžã§ãããã¯ãã§ãŒã³ã€ã³ãã¯ãµãŒãæ§ç¯ããããã®ã¢ãŒããã¯ãã£ã¬ã€ãã³ã¹ãæäŸããŸãã ã€ã³ããã¯ã¹äœæã¢ãŒã ãããã¯ãã§ãŒã³ã€ã³ãã¯ãµãŒã«ã¯ 2 ã€ã®ç°ãªãã¢ãŒãããããããããç°ãªãèŠä»¶ãé©çšãããŸãã ããã¯ãã£ã« â ååèµ·åæãã€ã³ãã¯ãµãŒã¯ãžã§ãã·ã¹ããçŸåšã®ããããŸã§ã®ãã¹ãŠã®å±¥æŽãããã¯ã䞊åããã»ã¹ã§åŠçããåã蟌ã¿é床ãæå€§åããŠããŸãããããã¯ãã§ãŒã³ããŒã¿ã¯äžå€ã§ãããããããã¯ãã£ã«äžã«ãã§ãŒã³ã®ãããã¯åç·šæãèæ
®ããå¿
èŠã¯ãããŸããã ãã©ã¯ãŒããã£ã« â ãã®ã¢ãŒãã§ã¯ãã€ã³ãã¯ãµãŒã¯æ°ãããããã¯ãçºèŠæ¬¡ç¬¬ããã«åã蟌ã¿ãŸãããã ãããããã¯åç·šæã«ãããããã¯ãã§ãŒã³å
端ã®å€æŽã«ããã以åã®ãããã¯ãç¡å¹ã«ãªãå¯èœæ§ããããããã»ã«ã³ããªããŒã¿ã¹ãã¢ãå®éã®ãããã¯ãã§ãŒã³ããŒã¿ãšäžè²«æ§ãä¿ã€ããã®ã¡ã«ããºã ãå¿
èŠã§ãã ãœãªã¥ãŒã·ã§ã³æŠèŠ ã€ã³ãã¯ãµãŒããããã¯ãã§ãŒã³ããŒãããçŽæ¥æœåºãã倿ããžãã¯ã倿Žãããå Žåããããã¯ãã§ãŒã³å
šäœãåã€ã³ããã¯ã¹åããå¿
èŠããããŸã (ããã¯æéãããããŸã)ã 代ããã«ã1 åæœåºããå¿
èŠã«å¿ããŠè€æ°å倿ãšããŒããè¡ãæ¹æ³ãææ¡ããŸãã ãããã¯ãã§ãŒã³ããŒã¿ãä¿åããäžéã¹ãã¬ãŒãžã¬ã€ã€ãŒãäœæããããšã§ã倿åŠçã¯ããŒãã«ç¹°ãè¿ãã¯ãšãªãå®è¡ããã®ã§ã¯ãªããããŒã«ã«ã³ããŒã«å¯ŸããŠåŠçãå®è¡ã§ããããã«ãªããŸãã æ¬¡ã®å³ã¯ãã€ã³ãã¯ãµãŒã®äž»èŠãªã³ã³ããŒãã³ãã瀺ããŠããŸãã ãããã¯ãã§ãŒã³ããŒã㯠Ethereum ãããã¯ãã§ãŒã³ã«æ¥ç¶ãããŠããŸãã ããã¯ãã£ã«(éå»ããŒã¿ååŸ)ãšãã©ã¯ãŒããã£ã«(æ°èŠããŒã¿ååŸ)ã®ã³ã³ããŒãã³ãã¯ããããã¯ãã§ãŒã³ããŒãããããŒã¿ãååŸããŸãã æœåºåŸãããŒã¿ã¯äžéã¹ãã¬ãŒãžãšããŠã® Amazon Managed Streaming for Apache Kafka (Amazon MSK) ã«ããŒããããŸãã ããŒã¿ã¯ Amazon Managed Service for Apache Flink ã§å€æããã Amazon Relational Database Service (Amazon RDS) ã®ãããªããŒã¿ããŒã¹ã«ããŒããããŸãã 以äžã®ã»ã¯ã·ã§ã³ã§ã¯ãæœåºã倿ãèªã¿èŸŒã¿ (ETL) ããã»ã¹ã«ã€ããŠè©³ãã説æããŸãã æœåº ãããã¯ãã§ãŒã³ããŒãã¯ããããã¯ãã§ãŒã³èªäœãžã®ã²ãŒããŠã§ã€ã§ãã ãã¹ãŠã®ãããã¯ã®ããŒã«ã«ã³ããŒãä¿æãããããã¯ãã§ãŒã³ãããã¯ãŒã¯ãéããŠäŒæãããæ°ãããããã¯ãåä¿¡ããŸãã ãããã¯ãã§ãŒã³ããŒãã¯ãæšæºåããã JSON-RPC åŒã³åºãã䜿çšããŠã¯ãšãªãå®è¡ã§ããŸãã ãããã¯ãã§ãŒã³ã®ã€ã³ããã¯ã¹äœæã«ã¯ããã«ããŒããŸãã¯ã¢ãŒã«ã€ãããŒãã®ãããããå¿
èŠã§ãã ãã«ããŒãã¯ãã¹ãŠã®ãã©ã³ã¶ã¯ã·ã§ã³ãä¿æããŸãããéå»ã®ç¶æ
ããŒã¿ã¯ãã«ãŒãã³ã°ãããŸããäžæ¹ãã¢ãŒã«ã€ãããŒãã¯å®å
šãªç¶æ
å±¥æŽãä¿æããŸãã ææ¡ããã¢ãŒããã¯ãã£ã§ã¯ã¢ãŒã«ã€ãããŒããåæãšããŠããŸããããã¯ããã«ããŒãã䜿çšããå Žåãå¿
èŠãªããŒã¿ããã¹ãŠå«ãŸããŠããããšãæ€èšŒããå¿
èŠãããããã§ãã ããã¯ãã£ã« ããŒã¿åã蟌ã¿ã®æåã®ã¹ãããã¯ããããã¯ãã§ãŒã³ã®éå§æç¹ (ãžã§ãã·ã¹ãããã¯) ãããã§ãŒã³ã®ææ°ãããã¯ãŸã§ã®éå»ããŒã¿ã®åã蟌ã¿ã§ãã ãã®éå»ããŒã¿ã®åã蟌ã¿ã³ã³ããŒãã³ãã¯ãéå»ã®ãããã¯ãåŠçããé¢é£ããŒã¿ãæœåºããŠãApache Kafka ãããã¯ã«ããã·ã¥ããŸãã Amazon MSK ã¯äžéã¹ãã¬ãŒãžãšããŠæ©èœããŸãã ããã«ãããããŒã¿ãä¿æãã€ã€ãè€æ°ã®ç¬ç«ããã³ã³ã·ã¥ãŒããŒãããŒã¿ãåŠçã§ããŸãã ãã®äŸã§ã¯ãblocksãtransactionsãlogs ãšãã 3 ã€ã®ç°ãªããããã¯ã䜿çšããããããã®ããŒã¿ãä¿æããŸãã çè«çã«ã¯ãããã¯ãã£ãªã³ã°ã³ã³ããŒãã³ãã¯ãã€ã³ãã¯ãµãŒããŒãããéå§ããéã«äžåºŠã ãå®è¡ããå¿
èŠããããŸãã ãã¹ãŠã®å±¥æŽããŒã¿ãåã蟌ãã åŸã¯ããã©ã¯ãŒããã£ãªã³ã°ã³ã³ããŒãã³ãã®ã¿ããKafka ãããã¯ããããã¯ãã§ãŒã³ã®ææ°ç¶æ
ãšåæãããããã«å¿
èŠãšãªããŸãã ããããããã¯ãã£ãªã³ã°ã³ã³ããŒãã³ããåå®è¡ããå¿
èŠãããçç±ã¯ããŸããŸã§ããæåã®å®è¡æã«äžéšã®ããŒã¿ãåãããŒãããå¯èœæ§ãããå Žåã転éå
ã®ããŒã¿ã¹ããŒãã®å€æŽããŸãã¯ä¿®æ£ããã ETL ããžãã¯ã®ãã°ãªã©ãèããããŸãã ããã¯ãã£ãªã³ã°ã³ã³ããŒãã³ããåå®è¡ããå¯èœæ§ããããããé«éåã«éç¹ã眮ããŠããŸãã ããã¯ãã£ãªã³ã°ã³ã³ããŒãã³ãã®äžè¬çãªã¢ãŒããã¯ãã£ã¯ã次ã®å³ã®ããã«ãªããŸãã ããŒã¿æœåºã«ã¯ã Paradigm ãéçºãããªãŒãã³ãœãŒã¹ã®æœåºãšã³ãžã³ cryo ã䜿çšããŸãã ããã¯ã䞊åç㪠RPC åŒã³åºãã䜿çšããŠãããã¯ãã§ãŒã³ããŒãããããŒã¿ãæœåºããããŒã«ã«ãã¡ã€ã«ãšããŠä¿åããŸãããã®åŸããããã®ãã¡ã€ã«ã Kafka ãããã¯ã«ããã·ã¥ã§ããŸãã ããã¯ãã£ã«äžãã€ã³ãã¯ãµãŒã¯ãããã¯ãã§ãŒã³ããŒãã«ã¯ãšãªãéä¿¡ããŸãã ã¹ããããªã³ã°ãåé¿ããã¯ãšãªãžã®å¿çã確å®ã«ããããã«ãå°çšããŒãã䜿çšããããšããå§ãããŸãã ãããã¯ãŒã¯ã¬ã€ãã³ã·ãŒãåæžããããã«ããã®ããŒããã€ã³ãã¯ãµãŒã®è¿ãã«é
眮ããããšããå§ãããŸãã ãµã³ãã«ã¢ãŒããã¯ãã£ã§ã¯ãåäžã® Amazon Elastic Cloud Compute (Amazon EC2) ã€ã³ã¹ã¿ã³ã¹ã䜿çšããŠãããŒãã®ãã¹ããšã€ã³ããã¯ã¹åŠçããžãã¯ã®å®è¡ã®äž¡æ¹ãè¡ã£ãŠããŸãã ãã©ã¯ãŒããã£ã« ããã¯ãã£ã«åŸãã€ã³ãã¯ãµãŒã¯ãã©ã¯ãŒããã£ã«ã¢ãŒãã«åãæ¿ãããŸãã ãã©ã¯ãŒããã£ã«ã¯ç¶ç¶çãã€é 次å®è¡ãããããŒããç£èŠããŠæ°ãããããã¯ãæ€åºããŸãã ãã®ã³ã³ããŒãã³ã㯠2 ã€ã®æ©èœãå®è¡ããŸãã1/ ãããã¯ãã§ãŒã³ããŒããç£èŠããå°çããæ°ãããããã¯ãåã蟌ãã2/ ãããã¯åç·šæ (reorg) ãèªèãç¶ããŸãã å€ãã®ãããã¯ãã«ããŒãåæã«æ°ãããããã¯ãäœæããŠãããããçæããããããã¯ãç¡å¹ã«ãªãå¯èœæ§ããããŸã (ããé·ããã§ãŒã³ã®ãã©ãŒã¯ãååšããå Žå)ã ã€ã³ãã¯ãµãŒã¯ reorg ãèªèããå¿
èŠããããŸããããã㯠reorg ãçºçããå Žåããã©ãŒã¯ã®èµ·ç¹ãŸã§é¡ãå¿
èŠããããŸãã ããã㯠reorg ã¯æ¬¡ã®ããšãæ€èšŒããããšã§æ€åºãããŸãã1/ åæ°ãããããã¯ã«åã®ãããã¯ã®ããã·ã¥ãå«ãŸããŠããããšã2/ ãããã¯çªå·ãé æ¬¡å¢å ããŠããããšã ããããã®æ¡ä»¶ãæºããããªãå Žåãreorg ãçºçããŠãããã€ã³ãã¯ãµãŒã¯ãã©ãŒã¯åã®æåŸã®ãããã¯ãŸã§å·»ãæ»ãå¿
èŠããããŸãã ã¯ãŒã¯ãããŒã«ã¯ 3 ã€ã®ã¹ãããããããŸã (äžã®å³ã«ç€ºãããŠããŸã)ã çŸåšã®æ£èŠãã§ãŒã³ã®å
é (ç·) ã«åŸããªãæ°ããããã㯠(玫) ãåºçŸããŸãã ã€ã³ãã¯ãµãŒã¯æ°ãããããã¯ããå
±éã®ç¥å
(ç·) ãŸã§é¡ããŸãã ã€ã³ãã¯ãµãŒã¯å
±éã®ç¥å
ãŸã§ã®ã以åã«ä¿åããããããã¯ãåé€ããŸããã€ã³ãã¯ãµãŒã¯æ°ããæ£èŠãã©ã³ãããæ°ãããããã¯ãåã蟌ã¿ãŸãã æ¬¡ã®å³ã¯ããã©ã¯ãŒããã£ãªã³ã°ã³ã³ããŒãã³ãã®ã¢ãŒããã¯ãã£ã瀺ããŠããŸãã ããã¯ããããã¯ãã§ãŒã³ããŒãããã§ãŒã³ã®åç·šæãæ£ããåŠçããæ©èœã«äŸåããŠããŸãã ãããå®çŸããããã«ãReth ã¯ã©ã€ã¢ã³ãã® Execution Extensions (ExEx) æ©èœã䜿çšããŸãã ã¯ã©ã€ã¢ã³ãã¯åæ°ããããã㯠(ããã³reorg) ã ExEx ã«éç¥ããExEx ã¯ããŒã¿ãã«ã¹ã¿ã ã®éä¿¡å
ã«éä¿¡ã§ããŸãã reorgãåŠçããããã«ãExEx ã¯å·»ãæ»ããšæ°ããã³ãããããããããã¯ã®äž¡æ¹ã Kafka ã«ããã·ã¥ããŸãã Kafka ãããã¯ã¯ãããã®ãããã¯ãé æ¬¡ä¿åãããã®åŸå€æããžãã¯ãå®è¡ãããŠæçµçãªããŒã¿ã·ã³ã¯ã®ããŒã¿ãæŽæ°ãŸãã¯åé€ããŸãã 倿 Apache Flink ã䜿çšãããšãKafka ãããã¯ã«å¯ŸããŠã³ã³ã·ã¥ãŒããŒãå®è¡ããããŒã¿ã®ãã£ã«ã¿ãªã³ã°ãšå€æãè¡ãããšãã§ããŸãã Flink ã¢ããªã±ãŒã·ã§ã³ã¯ Java ã§èšè¿°ãããŠãããããŒã¿ã®ãã£ã«ã¿ãªã³ã°ã倿ã«é©ããŠããŸãã ã¢ãã¬ã¹ãŸãã¯ã€ãã³ãããŒã¿ã®ãã³ãŒãã«ãã£ãŠãç¹å®ã®ã¹ããŒãã³ã³ãã©ã¯ãã«å¯Ÿãããã£ã«ã¿ãªã³ã°ãå®è¡ã§ããŸãã 倿ãããããŒã¿ã¯ãåã³ Kafka ãããã¯ãAmazon RDS ãªã©ã®ããŒã¿ããŒã¹ããŸã㯠Amazon Simple Storage Service (Amazon S3) äžã®ãã¡ã€ã«ãšããŠä¿åã§ããŸãã ã³ã³ã·ã¥ãŒããŒã¯å
ã®ããŒã¿ã倿Žããªãããšã«æ³šæããããšãéèŠã§ãã 倿ããžãã¯ã«å€æŽãçºçããå Žåãæåã® Kafka ã¡ãã»ãŒãžããã€ã³ããã¯ã¹ãåæ§ç¯ããããã«ã³ã³ã·ã¥ãŒããŒãåèµ·åããã ãã§æžã¿ãããŒã¿ãœãŒã¹ïŒããŒãïŒèªäœã«æ»ãå¿
èŠã¯ãããŸããã ããŒã¿ã®æ§é ã«ãã£ãŠã¯ãè€æ°ã®ã³ã³ã·ã¥ãŒããŒã䞊åã§å®è¡ã§ããå¯èœæ§ããããŸãã ããŒã ã³ã³ã·ã¥ãŒããŒã¯ãããŒã¿ãã«ã¹ã¿ã ã·ã³ã¯ã«ããŒãã§ããŸãã Uniswap ã®äŸã§ã¯ãããŒã¿ãã«ã¹ã¿ã PostgreSQL ããŒãã«ã«ä¿åããŸãã ããã³ããšã³ãã¯ããŒãã«ãã¯ãšãªããŠãé©åãªããŒã¿ãååŸã§ããŸãã ãœãªã¥ãŒã·ã§ã³å
šäœã®æçµçãªã¢ãŒããã¯ãã£ã¯ã次ã®å³ã«ç€ºãããŠããŸãã ãŸãšã AWS ããŒã¹ã®ãããã¯ãã§ãŒã³ã€ã³ãã¯ãµãŒã¯ãåæ¹åããŒã¿ãããŒãšæœåºããã»ã¹ãšå€æããã»ã¹ã®åé¢ã«ãããæé©åãããããŒã¿ã¢ã¯ã»ã¹ãå®çŸããŸãã ãã®ã¢ãŒããã¯ãã£ã¯ãããã¯ãã£ã«ã«ããå¹ççãªå±¥æŽããŒã¿åŠçãå¯èœã«ããªãããåç·šææ€ç¥æ©èœãåãããã©ã¯ãŒããã£ã«ã«ãã£ãŠãªã¢ã«ã¿ã€ã ããŒã¿ã®æŽåæ§ãç¶æããŸãã ãã®ãœãªã¥ãŒã·ã§ã³ã¯ãMSKãManaged FlinkãRDS ãå«ã AWS ãµãŒãã¹ã掻çšããŠããããã¯ãã§ãŒã³ã®é 次çãªæ§é ãå¹ççã«ã¯ãšãªå¯èœãªåœ¢åŒã«å€æãããã¹ã±ãŒã©ãã«ã§ä¿¡é Œæ§ã®é«ãåºç€ãæ§ç¯ããŸãã ãã®ãœãªã¥ãŒã·ã§ã³ããããã€ããããšã§ãéçºè
ã¯çŽæ¥ããŒãã«ã¯ãšãªãå®è¡ããéã®ããã©ãŒãã³ã¹å¶éãåé¿ããªããã貎éãªãããã¯ãã§ãŒã³ã€ã³ãµã€ãïŒæŽå¯ïŒãåŸãããšãã§ããŸãã 詳现æ
å ± ãã®ãœãªã¥ãŒã·ã§ã³ããèªèº«ã§ãããã€ããã«ã¯ã GitHub ã®è©³çްãªãããã€ã¡ã³ãã¬ã€ã ã«åŸã£ãŠãã ããã ã€ã³ãã¯ãµãŒã®ãã¢ã§ã¯ãããã©ã«ãã§ã¢ãŒã«ã€ãããŒããæã€ reth å®è¡ã¯ã©ã€ã¢ã³ãã䜿çšããã«ã¹ã¿ã ã·ã³ã¯ã«ããŒã¿ãã¹ããªãŒãã³ã°ããæ¹æ³ãæäŸããŸãããã®ã¹ããªãŒãã³ã°æ©èœã¯ãã©ã¯ãŒããã£ãªã³ã°ããã»ã¹ã§äœ¿çšãããŸãã ãã®ãœãªã¥ãŒã·ã§ã³ã¯ãããã¯ãã£ãªã³ã°ã®ããã« cryo ã䜿çšããŠå±¥æŽããŒã¿ãå¹ççã«æœåºããã«ã¹ã¿ã reth ExEx ãéããŠãªã¢ã«ã¿ã€ã ããŒã¿ãååŸããFlink ã䜿çšããŠãã®ããŒã¿ãåŠçããã³å€æããåæã®ããã«æ§é åããŒã¿ããªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã«ä¿åããŸãã ãã®ãœãªã¥ãŒã·ã§ã³ã¯ããªã³ãã§ãŒã³ããŒã¿ã®èŠæš¡ãšè€éãã«å¯Ÿå¿ã§ãããããã¯ãã§ãŒã³ã®ã€ã³ããã¯ã¹äœæãšåæã®ããã®ä¿¡é Œæ§ã®é«ãåºç€ãæäŸãããããã¯ãã§ãŒã³ããŒã¿ãã䟡å€ããæŽå¯ãåŸãã®ã«åœ¹ç«ã¡ãŸãã ãããæ¡åŒµããã«ã¯ã以äžãæ€èšããŠãã ããã ç°ãªããããã³ã«ãããŒã¯ã³ã®ããã® Flink ã¢ããªã±ãŒã·ã§ã³ã®è¿œå ããŒã¿å¯èŠåããã·ã¥ããŒãã®å®è£
ç¹å®ã®ãªã³ãã§ãŒã³ã€ãã³ãã«å¯Ÿããã¢ã©ãŒãã®èšå® äºæž¬åæã®ããã®æ©æ¢°åŠç¿ã¢ãã«ãšã®çµ±å æ¬èšäºã¯ã2025 幎 11 æ 25 æ¥ã«å
¬éããã Building a blockchain indexer on AWS ã翻蚳ãããã®ã§ãã翻蚳㯠Blockchain Prototyping Engineer ã® æ·±æŽ¥é¢¯éš ãæ
åœããŸããã èè
ã«ã€ã㊠Christoph Niemann Christoph 㯠Dune Analytics ã® Web3 ãœãªã¥ãŒã·ã§ã³ãšã³ãžãã¢ã§ãããAWS ã®å
ã·ãã¢ãããã¯ãã§ãŒã³ã¢ãŒããã¯ãã§ãããããã¯ãã§ãŒã³ãæ±ãããããã¯ãã§ãŒã³ããŒã¿ã®ãœãªã¥ãŒã·ã§ã³ãéçºããæ·±ãçµéšãæã£ãŠããŸãã Arvind Raghu Arvind 㯠AWS ã® Web3 ããã³ Confidential Compute ã®ã°ããŒãã«è²¬ä»»è
ã§ãã顧客ãããŒãããŒãšç·å¯ã«é£æºã㊠Web3 ããã³ Confidential Computing ãœãªã¥ãŒã·ã§ã³ãéçºããã¢ãŒããã¯ããš GTM ã¹ãã©ããžã¹ãã®ããŒã ãçããŠããŸãã Forrest Colyer Forrest 㯠AWS ã§ Web3 ãšåæ£åãã¯ãããžãŒãå°éãšããã·ãã¢ã¹ãã·ã£ãªã¹ããœãªã¥ãŒã·ã§ã³ã¢ãŒããã¯ãã§ãããããã¯ãã§ãŒã³ãªã©ã®ãã¯ãããžãŒã«äŸåããã¯ãŒã¯ããŒããæ§ç¯ããéã«ãæ¥çãè¶
ãã顧客ã«å¯ŸããŠæ·±ãæè¡çã¬ã€ãã³ã¹ãæäŸãããŸã Web3 åéã® ISV ãšã®ããŒãããŒã·ããã®æ§ç¯ã«ãåãçµãã§ããŸãã
ããžã¿ã«è³ç£æ±ºæžã«ãããè¿
éãã€äœã³ã¹ãã®ãã¢ããŒãã¢ååŒãå¯èœã«ãªããŸãã ãããã¯ãã§ãŒã³ããŒã¹ã®æ±ºæžã·ã¹ãã ã¯ãåŸæ¥ã®æ±ºæžæ¹æ³ã§äŒæ¥ãçŽé¢ããäž»èŠãªèª²é¡ã«å¯ŸåŠããŸãã ããã«ã¯ãé«ãåŠçææ°æããã£ãã·ã¥ãããŒã«åœ±é¿ãäžããæ±ºæžé
å»¶ãæ¥åã«åœ±é¿ãåãŒãè€éãªåœéååŒãªã©ãå«ãŸããŸãã ãã®æçš¿ã§ã¯ããããã¯ãã§ãŒã³ããŒã¹ã®ããžã¿ã«è³ç£æ±ºæžã·ã¹ãã ãã©ã®ããã«ã³ã¹ããšé
å»¶ãåæžã§ãããã説æããŸãã USDC ã PYUSD ã USDG ãªã©ã®ã¹ããŒãã«ã³ã€ã³ãäŸãšããŠãAWS äžã§ãµãŒããŒã¬ã¹æ±ºæžã·ã¹ãã ãæ§ç¯ããæ¹æ³ã玹ä»ããŸãã ãã®ãœãªã¥ãŒã·ã§ã³ã¯ãåŸæ¥ã®æ±ºæžæ¹æ³ã«ä»£ããäœã³ã¹ãã§ã¹ã±ãŒã©ãã«ããã€åæ£åã®éžæè¢ãæäŸããŸãã å®è£
㯠GitHub ãªããžã㪠ã§å
¬éãããŠããŸãã ãã®æçš¿ã¯ãããžã¿ã«è³ç£æ±ºæžãœãªã¥ãŒã·ã§ã³ã®æè¡çãªæŠèŠã瀺ããã®ã§ãããæ³çå©èšãèŠå¶äžã®ã¬ã€ãã³ã¹ãæå³ãããã®ã§ã¯ãããŸããã æ³çã³ã³ãã©ã€ã¢ã³ã¹ãæ€èšŒã確èªã®èŠä»¶ã¯ç®¡èœåºåã«ãã£ãŠç°ãªãå Žåããããèªè
ãèªèº«ã®è²¬ä»»ã§ãã ãã®æçš¿ã§èª¬æãããŠããæ±ºæžãœãªã¥ãŒã·ã§ã³ãå®è£
ãŸãã¯äœ¿çšããåã«ããèªèº«ã§ãã¥ãŒããªãžã§ã³ã¹ã宿œããŠãã ããã ãããã¯ãã§ãŒã³ããŒã¹ã®æ±ºæžã®ã¡ãªãã ããžã¿ã«è³ç£æ±ºæžãå°å
¥ããäŒæ¥ã«ã¯ãé
åçãªã¡ãªããããããŸãã ã³ã¹ãç®¡ç æ±ºæžåŠçã®ãªãŒããŒãããã®åæž æ±ºæžå¹ç ãããã¯ãã§ãŒã³ã®ç¢ºèªåŸã«è³éã«ã¢ã¯ã»ã¹ã§ããŸããæ£ç¢ºãªã¿ã€ãã³ã°ã¯ãããã¯ãŒã¯ã«ãã£ãŠç°ãªããŸã (æ°ç§ããæ°å) ã°ããŒãã«å±é è€æ°ã®ä»²ä»æ¥è
ãä»ããã«åœå¢ãè¶ããååŒãå®è¡ããçºæ¿ææ°æãæé€ããŸã ãã©ã³ã¶ã¯ã·ã§ã³ã®å¯èŠæ§ ãªã³ãã§ãŒã³æ€èšŒã«ããå®å
šãªãã©ã³ã¶ã¯ã·ã§ã³ã®éææ§ã«ãããç£æ»ã®å¹çå ããžã¿ã«è³ç£æ±ºæžã¯ãããŸããŸãªã¹ããŒã¯ãã«ããŒã«ã¡ãªããããããããŸãã å çåº â é«éã§äœææ°æã®æ±ºæžã«ãããEC ïŒã€ãŒã³ããŒã¹ïŒãå¹çåããŸãã éèæ©é¢ â æ±ºæžæéãççž®ããåœéééãè³é管çãä¿é²ããŸãã å
±éã®ã¡ãªãã â é貚亀æãšæ±ºæžåŠçã®ææ°æãæå°åããŸãã æçµçã«ãããžã¿ã«è³ç£æ±ºæžã¯ãããŒãã£ã³ããéèæ©é¢ãæè¡é©æ°ãé²ããã³ã¹ããæå°åããæ°ããªæ©äŒãåŒãåºãã®ã«åœ¹ç«ã¡ãŸãã ãœãªã¥ãŒã·ã§ã³æŠèŠ ãã®ãœãªã¥ãŒã·ã§ã³ã«ãããäŒæ¥ã¯ Ethereum ãå«ã Ethereum Virtual Machine (EVM) äºæãããã¯ãŒã¯å
šäœã§ãããžã¿ã«è³ç£ã«ããæ¶è²»è
ããã®æ¯æãããå®å
šãªèªååãšå®å
šãªè³éåŠçã§åãå
¥ããããšãã§ããŸãã ãã¹ãããããšã¡ã€ã³ãããç°å¢ã®äž¡æ¹ã«å¯Ÿå¿ããŠããŸãã ãªããžã㪠ã§ã¯ãããžã¿ã«è³ç£æ¯æããœãªã¥ãŒã·ã§ã³ããããã€ããŠäœ¿çšããæé ãé ã远ã£ãŠèª¬æããŠããŸãã ãã®ãœãªã¥ãŒã·ã§ã³ã®äž»ãªæ©èœã¯ä»¥äžã®éãã§ãã ããžã¿ã«è³ç£æ±ºæžãœãªã¥ãŒã·ã§ã³ã® 3 ã€ã®ã³ã¢ã³ã³ããŒãã³ãã«ã€ããŠãããã«è©³ããèŠãŠãããŸãããã è«æ±æžãžã§ãã¬ãŒã¿ãŒ ãã®ã³ã³ããŒãã³ãã䜿çšãããšãè«æ±æžãçæãã顧客ããçŽæ¥æ¯æããåãä»ããããšãã§ããŸãã è«æ±æžãžã§ãã¬ãŒã¿ãŒã¯ä»¥äžã®æ©èœãæäŸããŸã: 確å®çãªè«æ±æžçæ â è«æ±æžãžã§ãã¬ãŒã¿ãŒã¯ãè«æ±æžãšãããã¯ãã§ãŒã³ã¢ãã¬ã¹ã® 1 察 1 ã®ãããã³ã°ã容æã«ããŸããããã«ããã忝æãã察å¿ããè«æ±æžã«æ£ããçŽä»ããããããšãä¿èšŒãããŸãããã®ã·ã¹ãã ã¯ã ã¢ãããã¯ã«ãŠã³ã¿ãŒ ã Amazon DynamoDB ã«ä¿åããŠãŠã©ã¬ããã€ã³ããã¯ã¹ãç¶æããé«ãåæå®è¡ã·ããªãªã§ãã¹ã¬ããã»ãŒããªã¢ãã¬ã¹çæãç¶æããŸãã å¹ççãªéµç®¡ç â BIP32 / BIP44 ã¯ãéå±€çæ±ºå®æ§éµå°åºé¢æ°ã䜿çšããŠã AWS Secrets Manager ã«ä¿åãããåäžã®ãã©ã€ããªã·ãŒããã倿°ã®éµãã¹ãçæããè€æ°ã®ã¢ã«ãŠã³ããšã¢ãã¬ã¹ã®æ§é åããã管çãå¯èœã«ããŸãã UI ã§ããã«äœ¿ããåºå â è«æ±æžãžã§ãã¬ãŒã¿ãŒã¯ãè«æ±æžã®å
¥éã¢ãã¬ã¹ãš Data URL 圢åŒã® Base64 ãšã³ã³ãŒãããã QR ã³ãŒãã®äž¡æ¹ãè¿ããŸãããã㯠HTML ã® ã¿ã°ã«çŽæ¥åã蟌ãããšãã§ããŸãã ã»ãã¥ãªãã£ãšãã©ã€ãã·ãŒã®åŒ·å â å顧客ã¯äžæã® 1 åéãã®æ¯æãã¢ãã¬ã¹ãåãåããŸããããã«ãããã¢ãã¬ã¹ã®åå©çšãé²ãããããªãã¯ãããã¯ãã§ãŒã³äžã§ãŠãŒã¶ãŒã®ãã©ã€ãã·ãŒãä¿è·ããããšãã§ããŸãã ç°¡çŽ åãããäŒèšåŠç â åçåããã远跡ã«ãããäŒèšãšç£æ»ã容æã«ãªããŸãã å®ææ¯æãã®ã·ããªãªã§ã¯ãå®å®ãã顧客èå¥åããæ¯æãã¢ãã¬ã¹ãå°åºããããã«ãœãªã¥ãŒã·ã§ã³ãæ¡åŒµã§ããŸãã ããã«ãããå顧客ã«å¯ŸããŠäžè²«ãããŠã©ã¬ããã¢ãã¬ã¹ãäœæãããå®ææ¯æããåçåããã顧客ã®èš±å¯ãªã¹ãç»é²ããã»ã¹ãç°¡çŽ åãããŸãã æ¯æãã®èªåæ€åº ãThe Watcherãã¯ãèªåçãªæŽæ°æ
å ±ãšã€ãã³ãé§ååéç¥ã«ããæ¯æãç¶æ³ã®ç£èŠãå¯èœã«ããŸãã èªåæ¯æãæ€åºã³ã³ããŒãã³ãã¯ã以äžã®æ©èœãæäŸããŸãã æé©åãããããŒã¿ããŒã¹ã¯ãšãª â DynamoDB ã°ããŒãã«ã»ã«ã³ããªã€ã³ããã¯ã¹ ( status-index ) ã䜿çšããŠã pending ç¶æ
ã®è«æ±æžã®ã¿ãã¯ãšãªããŸããããã«ãããè«æ±æžã®ç·éãå¢å ããŠãã¯ãšãªã®ããã©ãŒãã³ã¹ãç¶æãããDynamoDB ã®èªã¿åãæ¶è²»éã倧å¹
ã«åæžãããŸãã ãªã¢ã«ã¿ã€ã æ®é«æ€èšŒ â ETH ããã³ ERC-20 ããŒã¯ã³ã®æ®é«ãè«æ±æžã®éé¡ãšç
§åããŠæ€èšŒããŸãã èªåã¹ããŒã¿ã¹æŽæ° â ååãªæ¯æããæ€åºããããšãè«æ±æžãèªåçã« paid ãšããŠããŒã¯ããŸãã(ããã©ã«ãã§ã¯ããã®ãœãªã¥ãŒã·ã§ã³ã¯ãã¡ã€ããªãã£ããªãªãŒã°ãèæ
®ããŸããããã匷åãªä¿èšŒãå¿
èŠãªå Žåã¯ãWatcher ã® eth_getBalance ã« finalized ãããã¯ã¿ã°ãæž¡ãããšãã§ããŸãã) 峿éç¥ â æ¯æãç¢ºèªæã« Amazon SNS ãéããŠå çåºãžã®éç¥ãããªã¬ãŒããŸãã è³éç
§å è«æ±æžã®æ¯æããåãåã£ãåŸãè³éã¯å®å
šãªç®¡çã®ããã«æå®ããã財åãŠã©ã¬ãã (ã§ããã°é«åºŠã«ã»ãã¥ã¢ãªã³ãŒã«ããŠã©ã¬ãã) ã«èªåçã«ç§»åãããŸãã ããã«ãããæ°å以å
ã«ãªãã©ã€ã³ã§æ¯æããå®å
šã«åŠçãããå çåºãéžæãããŠã©ã¬ãããžã®è³ééçŽã®ããã®ç£æ»å¯èœãªã¡ã«ããºã ããµããŒããããŸãã ãã¡ã³ãç
§åããã»ã¹ã¯ã以äžã®æ©èœãæäŸããŸãã DynamoDB Streams ã«ããããªã¬ãŒ â ãã£ã«ã¿ãªã³ã°ãããã¹ããªãŒã ããªã¬ãŒãéããŠç¢ºèªæžã¿ã®æ¯æããæ€åºããŸã (ã¹ããŒã¿ã¹ã paid )ããããã¯ãŒã¯ã®æ··éãäžæçãªãããã¯ãã§ãŒã³ã®åé¡ã«å¯ŸåŠããããã®çµã¿èŸŒã¿ã¡ã«ããºã ãåããŠããŸãã ã¬ã¹ã®æé©å â ã³ã¹ãå¹çã®é«ããã©ã³ã¶ã¯ã·ã§ã³ã®ããã«ããããã¯ãŒã¯ã®ã¬ã¹äŸ¡æ Œãåçã«èšç®ããŸãã ã¬ã¹è£å
ã¡ã«ããºã â å°çšã®ããããŠã©ã¬ãããã¬ã¹ã¿ã³ã¯ããããããã¯ãŒã¯ã®ãã€ãã£ãããŒã¯ã³ (äŸ: ETH) ã®æºåéãä¿æããŸããããã¯ãERC-20 ã€ã³ãã€ã¹ãè£å
ããããã ãã«äœ¿çšãããæå°éã®ã¬ã¹æéã§ ã³ãŒã«ãã¹ãã¬ãŒãžã®é庫ã«éçŽã§ããããã«ããŸãã å®å
šãªè»¢é â ç§å¯éµã¯ã¡ã¢ãªå
ã§æ±ºå®è«çã«å°åºãããä¿åãããŸããããããã¯åã
ã®ã€ã³ãã€ã¹ããã®è»¢éãå®è¡ããããã«äœ¿çšãããŸãããã㯠Lambda å
ã§è¡ãããAWS 㯠ãªãã¬ãŒã¿ãŒã«ããã¢ã¯ã»ã¹ã¯ãããŸãã ã ã¹ããŒã¿ã¹ã®æŽæ° â æ£åžžã«å®äºãããšãã€ã³ãã€ã¹ã®ã¹ããŒã¿ã¹ã swept ã«æŽæ°ããŸãã æ¬¡ã®å³ã¯ããœãªã¥ãŒã·ã§ã³ã®ã¢ãŒããã¯ãã£ã瀺ããŠããŸãã ãã®ã¢ãŒããã¯ãã£ã¯ããµãŒããŒã¬ã¹ãªããžã¿ã«è³ç£æ±ºæžåŠçã® PoC ïŒ Proof of Concept ïŒãç®çãšããŠãããæ¬çªç°å¢ã§äœ¿çšã§ããç¶æ
ã§ã¯ãããŸããã ã»ãã¥ãªãã£ãä¿¡é Œæ§ãã³ã³ãã©ã€ã¢ã³ã¹ãç£æ»å¯èœæ§ã«é¢ããæ¬çªç°å¢ã®åºæºãæºããã«ã¯ã远å ã®æ©èœåŒ·åãå¿
èŠã§ãã 以äžã®ãããŒã®åã¹ãããã®çªå·ã¯ãEthereum ãããã¯ãŒã¯äžã§ã®ã¹ããŒãã«ã³ã€ã³æ±ºæžã瀺ããŠãããäžèšã®ã¢ãŒããã¯ãã£å³ã®çªå·ã«å¯Ÿå¿ããŠããŸãã å çåºã¯ã Amazon API Gateway ãæäŸãã /create-invoice REST API ãžã®ãªã¯ãšã¹ããéããŠãã¹ããŒãã«ã³ã€ã³ã®ã€ã³ãã€ã¹ãäœæããŸãããã㯠API ããŒã䜿çšããŠä¿è·ãããŠããŸãã AWS Lambda 颿°ã§ãã Invoice Generator ãããªã¬ãŒããã AWS Secrets Manager ããããŒã¢ãã㯠ã·ãŒããã¬ãŒãº ãååŸããŸããã·ãŒããã¬ãŒãºã¯ãã€ã³ãã€ã¹ã«å¯Ÿå¿ããããŒãã¢ãäœæ (ããã³åŸ©å
) ããããã«å¿
èŠã§ãã Invoice Generator 㯠Amazon DynamoDB ã®ã¢ãããã¯ã«ãŠã³ã¿ãŒãã€ã³ã¯ãªã¡ã³ãããŸããã¢ãããã¯ã«ãŠã³ã¿ãŒã®å€ã¯ã€ã³ããã¯ã¹ã衚ããŸããããã¯ã·ãŒããã¬ãŒãºãšå
±ã«äœ¿çšãããç¹å®ã®æ¯æãã«å¯Ÿãã éå±€çæ±ºå®æ§ (HD) ãŠã©ã¬ããã¢ãã¬ã¹ã決å®è«çã«å°åºããŸãã Invoice Generator Lambda 颿°ã¯æ°ããã€ã³ãã€ã¹ãäœæãã status: pending ãšã㊠DynamoDB ã«ä¿åããŸããããŒã¿ã¯ AWS Key Management Service (AWS KMS) ã䜿çšããŠä¿ç®¡æã«èªåçã«æå·åãããŸãã åã®ã¹ãããã§çæããã QR ã³ãŒãã«ã¯ãééå
ã¢ãã¬ã¹ãé貚ãéé¡ããšã³ã³ãŒããããŠãããå çåºã«è¿ãããŸããå çåºã¯ QR ã³ãŒãã顧客ãšå
±æããŸãã顧客ã¯ãå
¥éã¢ãã¬ã¹ã«é©åãªéé¡ã®è³éãéä¿¡ããããšã§ãã¹ããŒãã«ã³ã€ã³ã®æ¯æããè¡ããŸãã Amazon EventBridge ã¹ã±ãžã¥ãŒã«ãéããŠãWatcher ãšãã Lambda 颿°ãæ¯åããªã¬ãŒãããŸããWatcher 㯠DynamoDB ããä¿çäžã®ã€ã³ãã€ã¹ãååŸããæäŸããã RPC ãšã³ããã€ã³ããéããŠè¡ãããæ¯æãã確èªããŸããæ¯æããå°çããå Žåãã€ã³ãã€ã¹ã paid ã«æŽæ°ããŸãã Watcher Lambda 颿°ã¯ã Amazon Simple Notification Service (Amazon SNS) ã䜿çšããŠãå çåºã«æ¯æã確èªãéä¿¡ããŸãã CryptoInvoices ããŒã¿ããŒã¹ã§æ¯æããæ€åºããããš (ã¹ããŒã¿ã¹ã paid ã«é·ç§»ãããš)ã Amazon DynamoDB Streams ã䜿çšããŠã€ãã³ããçºè¡ãããŸããããã«ãã Lambda Sweeper 颿°ãããªã¬ãŒãããŸãã Sweeper 颿°ã¯è³éã®éçŽãã©ã³ã¶ã¯ã·ã§ã³ã«å¿
èŠãªã¬ã¹ãèšç®ããããã ERC20 ã€ã³ãã€ã¹ã§ãããã Eth ããªã¯ãšã¹ãããŸãã åå㪠Eth ãå©çšå¯èœã«ãªããšãSweeper 颿°ã¯ã€ã³ãã€ã¹ã«é¢é£ä»ããããããŒã¯ã³ããªãã©ã€ã³ã®ä¿ç®¡çšãŠã©ã¬ããã«éä¿¡ããŸããSweeper 颿°ã¯ãHD ãŠã©ã¬ããã®ã·ãŒããã¬ãŒãºããªã¯ãšã¹ããããã©ã³ã¶ã¯ã·ã§ã³ã«çœ²åããããã®ç§å¯éµãå°åºããããšã§ãããè¡ããŸãããã®åŸãã€ã³ãã€ã¹ã¯ CryptoInvoices ããŒã¿ããŒã¹ã§ swept ãšããŠããŒã¯ãããŸããè³éã®éçŽããã»ã¹äžã«ãšã©ãŒãçºçããå Žåã倱æããã°ã«èšé²ãããæå€§ 3 åã®å詊è¡ãè¡ãããŸãã å çåºã¯ãAPI Gateway ã䜿çšããŠå
¬éããã REST ãšã³ããã€ã³ããéããŠã€ã³ãã€ã¹ã管çã§ããŸã (ã€ã³ãã€ã¹ã®çŸåšã®ã¹ããŒã¿ã¹ã衚瀺ããããä¿çäžã®ã€ã³ãã€ã¹ããã£ã³ã»ã«ãããã§ããŸã)ã æ¯æããæ¯æãç£èŠãè³éã®ååãããŒã®è©³çްãªå³è§£ã«ã€ããŠã¯ã GitHub ãªããžã㪠ãåç
§ããŠãã ããã ãŸãšã ãã®ãµãŒããŒã¬ã¹ãœãªã¥ãŒã·ã§ã³ã¯ãAWS äžã§ããžã¿ã«è³ç£æ±ºæžãåŠçããããã®å®å
šã§å¹ççããã€ã³ã¹ãå¹çã®é«ãã·ã¹ãã ãæäŸããŸãã AWS ã®ãµãŒãã¹ãšãããã¯ãã§ãŒã³æè¡ã掻çšããããšã§ãçµç¹ã¯æ±ºæžåŠçã³ã¹ããåæžããè³éãžã®ããè¿
éãªã¢ã¯ã»ã¹ãå®çŸãããã£ãã·ã¥ãããŒãåäžãããã°ããŒãã«ã«äºæ¥ãå±éã§ããŸãã æ¬èšäºã¯ã2025 幎 10 æ 2 æ¥ã«å
¬éããã Processing digital asset payments on AWS ã翻蚳ãããã®ã§ãã翻蚳㯠Blockchain Prototyping Engineer ã® æ·±æŽ¥é¢¯éš ãæ
åœããŸããã GitHub ã§å®å
šãªã³ãŒãã確èªããAWS äžã§å®å
šãªãµãŒããŒã¬ã¹ããžã¿ã«è³ç£æ±ºæžãœãªã¥ãŒã·ã§ã³ã®æ§ç¯ãå§ããŸãããã èè
ã«ã€ã㊠Simon Goldberg Simon ã¯ãAWS ã®ãããã¯ãã§ãŒã³/Web3 ã¹ãã·ã£ãªã¹ããœãªã¥ãŒã·ã§ã³ã¢ãŒããã¯ãã§ããä»äºä»¥å€ã§ã¯ã鳿¥œå¶äœãèªæžãã¯ã©ã€ãã³ã°ãããã¹ããã€ãã³ã°ãã³ã³ãµãŒãéè³ãWeb3 ãã¯ãããžãŒã®ç ç©¶ãæ¥œããã§ããŸãã David Dornseifer David ã¯ãAWS ã®ãããã¯ãã§ãŒã³ããã³ã³ã³ãã£ãã³ã·ã£ã«ã³ã³ãã¥ãŒãã¢ãŒããã¯ãã§ãã圌ã¯ãã客æ§ããšã³ãããŒãšã³ãã®ãããã¯ãã§ãŒã³ããã³ã³ã³ãã£ãã³ã·ã£ã«ã³ã³ãã¥ãŒããœãªã¥ãŒã·ã§ã³ã®èšèšãéçºãã¹ã±ãŒãªã³ã°ãæ¯æŽããããšã«æ³šåããŠããŸããäž»ãªå°éåéã¯ãããžã¿ã«è³ç£ã®ä¿ç®¡ãšéµç®¡çãœãªã¥ãŒã·ã§ã³ã§ãã
åç»
該åœããã³ã³ãã³ããèŠã€ãããŸããã§ãã







