Cordaã®5.1
ãã®ããŒãžã§ã¯ãCordaã®5.1ãªãªãŒã¹ã®äž»ãªå€æŽç¹ããªã¹ããããŠããã以äžã®é ç®ãå«ãŸããŠããŸãïŒ
- æ©èœåŒ·å
- ä¿®æ£æžã¿ã®åé¡
- æ¢ç¥ã®åé¡ããã³å¶éäºé
Corda Clusterã5.0ãã5.1ã«ã¢ããã°ã¬ãŒãããæ å ±ã«ã€ããŠã¯ããã¡ããåç §ããŠãã ããã
æ©èœåŒ·å
ã¢ãŒããã¯ãã£
Java 17
Cordaã³ã³ããŒãã³ãã¯ãJava 17äºæã®JVMã§ãã¹ããããããã«ãªããŸããã
Workers
以äžã®æ°ããã¿ã€ãã®Workerã远å ãããŸããïŒ
- Persistence workers
- Uniqueness workers
- Flow mapper workers
- Verification workers
- Token selection workers
ãã°
ããã©ã«ãã®log4jæ§æã倿ŽãããäŸå€ã®ã¹ã¿ãã¯ãã¬ãŒã¹ãJSONãã°ã¡ãã»ãŒãžå ã®ããã¹ãããããšããŠåºåãããããã«ãªããŸããã
CorDappéçº
Finality Flowã®ããã®ãã°
Finalityã®ããã«æžããããã°ã®IDãäžè²«æ§ãæã€ããã«ãªããŸããã
èªåè«æ±ãªãªãŒã¹
Cordaã¯ããã¯ãååšããªããããŒã®ããã«èªåçã«ããŒã¯ã³ããªãªãŒã¹ããããã«ãªããŸããã
Groupãã©ã¡ãŒã¿
æ°ããã€ã³ã¿ãŒãã§ãŒã¹ãGroupParametersLookupãnet.corda.v5.membershipããã±ãŒãžã«è¿œå ããããããŒã远å ã®æ€èšŒã®ããã«çŸåšã®GroupParametersã«ã¢ã¯ã»ã¹ã§ããããã«ãªããŸããã
FindUnconsumedByExactType
æ°ããFindUnconsumedByExactTypeã¡ãœããã远å ãããããã¯findUnconsumedStatesByTypeã眮ãæããŸãããã®æ°ããã¡ãœããã®ããã©ãŒãã³ã¹ã¯FindUnconsumedByTypeãããåªããŠãããæå®ãããæ£ç¢ºãªåã®stateïŒãµãã¯ã©ã¹ã®stateã¯å«ãŸããŸããïŒãååŸããã€ã³ããã¯ã¹æ€çŽ¢ã䜿çšããŠããŸãã
ãã©ã³ã¶ã¯ã·ã§ã³çœ²åã®æ€èšŒ
眲åã®æ€èšŒæ©èœãæ°ããTransactionSignatureVerificationServiceã€ã³ã¿ãŒãã§ãŒã¹ã«è¿œå ãããŸãããããã«ãããæ€èšŒãµã³ãããã¯ã¹ã«åå¥ã«ã€ã³ãžã§ã¯ãã§ããããã«ãªããŸããã
眲åãããã°ã«ãŒããã©ã¡ãŒã¿ãŒ
眲åãããã°ã«ãŒããã©ã¡ãŒã¿ãŒã¯ãå±¥æŽãã©ã³ã¶ã¯ã·ã§ã³ã®ããŒã¿ãªãŒé£ç¶æ€èšŒã®ããã«ãããã¯ãã§ãŒã³ã®è§£æ±ºãä»ããŠé åžãããããã«ãªããŸããã
ããŒã¯ã³éžæã®å¯èŠæ§
stateã®contractã«isVisibleã¡ãœãããå®è£
ããããšã§ããã®stateãéžæå¯Ÿè±¡ãšããŠæå®ã§ããããã«ãªããŸãããããã¯isRelevantã眮ãæããŸãã
Vault-Namedã¯ãšãª
vault-namedã¯ãšãªã«é¢ããŠä»¥äžã®å€æŽãå ããããŸããïŒ
- Vault-namedã¯ãšãªåŒã¯ãæ¬åŒ§å
ã®
:parameterããã³::intãæ£ããè§£æããŸãã StateRefã§ã¯ãšãªãè¡ãããšãã§ããããã«ãªããŸãããStateã¯ContractStateJSONãªããžã§ã¯ãã®stateRefãã£ãŒã«ãã«ä¿åãããŸãã
CorDapp API 廿¢äºå®ã®ã¢ã€ãã
ãã®ãªãªãŒã¹ã§ä»¥äžã®ã¡ãœããã¯éæšå¥šãšãªããŸããïŒ
findUnconsumedStatesByTypeâ FindUnconsumedByExactTypeãåç §ããŠãã ãããuseAndReleaseâ Automatic Claim Releaseãåç §ããŠãã ããã
UtxoLedgerTokenStateObserver ã€ã³ã¿ãŒãã§ãŒã¹ã¯éæšå¥šãšãªããŸããã代ããã«UtxoTokenTransactionStateObserverã䜿çšããŠãã ããã
ãããã€ã¡ã³ã
ãã¬ã€ã³ã¹ããŒã«ãã§ãã¯
Corda CLIã«preinstallã³ãã³ãã远å ãããŸããããã®ã³ãã³ãã䜿çšãããšãCordaã®ããã®ãã¬ã€ã³ã¹ããŒã«ãã§ãã¯ãå®è¡ã§ããŸãããããã®ãã§ãã¯ã¯ããã©ã«ãã§ãããã€ããã»ã¹ã®äžéšãšããŠå®è¡ãããŸãã詳现ã«ã€ããŠã¯CLI Referenceããã³Deployment Configurationãåç
§ããŠãã ããã
P2Pã²ãŒããŠã§ã€ã®æ§æ
P2Pã²ãŒããŠã§ã€æ§æã§ã¯ã2ã€ã®ãµãŒããŒãhostAddressãšhostPortãã¢ãå
±æã§ããããã«ãªããŸããã
Corda CLI Kafka topics
Corda CLIã³ãã³ãtopic ã®scriptãµãã³ãã³ããæ°ããã³ãã³ãpreviewã«çœ®ãæããããŸãããpreviewã³ãã³ãã¯ãå¿
èŠãªKafka topicæ§æã®ãã¬ãã¥ãŒãYAMLã§çæããŸãããããCorda CLIã䜿çšããŠå®è¡ããåã«ãä¿åããŠå¿
èŠã«å¿ããŠå€æŽã§ããŸãã詳现ã«ã€ããŠã¯CLI Referenceãåç
§ããŠãã ããã
State ManagerããŒã¿ããŒã¹
Cordaã¯çŸåšãWorkerã¿ã€ãéã®stateã®æ°žç¶æ§ã®ããã«1ã€ä»¥äžã®PostgreSQLããŒã¿ããŒã¹ã€ã³ã¹ã¿ã³ã¹ãå¿ èŠã§ãããããã¯state managerããŒã¿ããŒã¹ãšåŒã°ããŸããR3ã¯ã次ã®workerçšã«åå¥ã«åé¢ãããstate managerããŒã¿ããŒã¹ã€ã³ã¹ã¿ã³ã¹ãå±éããããšããå§ãããŠããŸãïŒ
- Flow workers
- Flow mapper workers
- Token selection workers
詳现ã«ã€ããŠã¯State Manager Databasesãåç §ããŠãã ããã
ããŒã¿ããŒã¹ã³ãã¯ã·ã§ã³ããŒã«ã®æ§æ
ããŒã¿ããŒã¹ã³ãã¯ã·ã§ã³ããŒã«ãæ§æã§ããããã«ãªããŸããã詳现ã«ã€ããŠã¯configuration fieldsãåç §ããŠãã ããã
ã¢ãã£ããã£ããŒã
ãããã€ã¡ã³ãæ§æãã¡ã€ã«ã§affinityãã©ã¡ãŒã¿ãèšå®ããããšã§ãworkerã¬ããªã«ãKubernetesããŒãã«ã©ã®ããã«åæ£ãããããæ§æã§ããããã«ãªããŸããã詳现ã«ã€ããŠã¯Deployment Configurationãåç
§ããŠãã ããã
Kubernetes Ingress
Kubernetes Ingressãæ§æããŠãP2Pã²ãŒããŠã§ã€workerã«HTTPããŒããã©ã³ã·ã³ã°ãæäŸã§ããããã«ãªããŸããã詳现ã«ã€ããŠã¯ãDeployment Configurationãåç §ããŠãã ããã
P2P ã²ãŒããŠã§ã€workerã¡ããªã¯ã¹
P2P ã²ãŒããŠã§ã€workerã®ã¡ããªã¯ã¹ãå©çšå¯èœã«ãªããŸããã詳现ã«ã€ããŠã¯ãObservabilityã»ã¯ã·ã§ã³ãåç §ããŠãã ããã
ã¿ã¹ã¯ãããŒãžã£ãŒã¡ããªã¯ã¹
ã¿ã¹ã¯ãããŒãžã£ãŒã®ã¡ããªã¯ã¹ãå©çšå¯èœã«ãªããŸããã詳现ã«ã€ããŠã¯Observabilityã»ã¯ã·ã§ã³ãåç §ããŠãã ããã
ã¢ããªã±ãŒã·ã§ã³ãããã¯ãŒã¯
ã¡ã³ããŒã·ããã¡ã¿ããŒã¿
以äžã®çš®é¡ã®ã¡ã³ããŒã·ããã¡ã¿ããŒã¿ãå®çŸ©ã§ããããã«ãªããŸããïŒ
- ã¡ã³ããŒã¯ãç»é²ã³ã³ããã¹ãã§ã«ã¹ã¿ã ããŒããªã¥ãŒã®ãã¢ãæå®ã§ããŸãããããã¯
MemberInfoã®äžéšãšããŠãããã¯ãŒã¯ã®ä»ã®ã¡ã³ããŒã«é åžãããŸãã - MGMã¯ã
GroupParametersã®äžéšãšããŠé åžãããã¢ããªã±ãŒã·ã§ã³ããã®ããŒã¿ã«åºã¥ããŠããžãã¹ããžãã¯ãå®è¡ããããã«äœ¿çšã§ããã«ã¹ã¿ã ã¡ã¿ããŒã¿ãæå®ã§ããŸããããšãã°ãCorDappã³ã³ãã©ã¯ãå ããçºè¡è ã®ããã®ãã©ã³ã¶ã¯ã·ã§ã³ã«ãŒã«ã匷å¶ããããã«ã
ã¡ã³ããŒã®åç»é²
ã¡ã³ããŒã¯ãcustom metadataãCPI versionãplatform versionãããã³software version of the memberInfoã®ã«ã¹ã¿ã ã¡ã¿ããŒã¿ãCPIããŒãžã§ã³ããã©ãããã©ãŒã ããŒãžã§ã³ãããã³ã¡ã³ããŒã®æ
å ±ã倿Žãããããã¯ãŒã¯ã«åç»é²ãèŠæ±ã§ããããã«ãªããŸãããåç»é²ã¯ããããã¯ãŒã¯ã®æ§æã«ãã£ãŠã¯æåã§æ¿èªãå¿
èŠãªå ŽåããããŸãã詳现ã«ã€ããŠã¯Re-register a Memberãåç
§ããŠãã ãããCPIã®ã¢ããã°ã¬ãŒãã¯ãä»®æ³ããŒããå®è¡ããŠããCPIã«é¢ããæ£ç¢ºãªæ
å ±ãMGMãæã£ãŠããããšã確èªãããããã¡ã³ããŒãMGMã«åç»é²ããããªã¬ãŒãšãªããŸãã
Notary Ledger Keys
ã¢ããªã±ãŒã·ã§ã³ãããã¯ãŒã¯ã«ãªã³ããŒãã£ã³ã°ããéãããŒã¿ãªãŒä»®æ³ããŒãã«ã¯ãã¯ãledgerããŒãå¿ èŠã§ã¯ãããŸãããCordaã¯ãledgerããŒãå«ãããŒã¿ãªãŒä»®æ³ããŒãã®ç»é²ãæåŠããããã«ãªããŸããã
ã¡ã³ããŒã®ç®¡ç
ã¡ã³ããŒãäžæåæ¢ãŸãã¯åã¢ã¯ãã£ãåããéãserial-number ãå¿
é ãšãªããŸããã
REST API ã®æ¹åç¹
- ãã®ãªãªãŒã¹ã«ã¯ãREST API ã®æ°ããããŒãžã§ã³ v5_1 ãå«ãŸããŠããŸããv1ããã®å€ããšã³ããã€ã³ãã¯ã5.1ã§åäœããŸãããREST Workerãã°ãšHTTPå¿çã«èŠåãæžã蟌ãŸããŸãã
certificates ããã³Âkeysã®ãšã³ããã€ã³ãã¯ãcertificateããã³keyã«åç§°å€æŽãããŸãããGET/hsm/{tenantid}/{category}ãšã³ããã€ã³ãã¯ãã«ããŽãªãååšããªãå Žåã« HTTP 404 ã¹ããŒã¿ã¹ãè¿ãããã«ãªããŸããã- GET user ãšã³ããã€ã³ãã®
loginnameãã©ã¡ãŒã¿ã¯ããã¹ãã©ã¡ãŒã¿ã«å€æŽãããŸããã membersãšã³ããã€ã³ãã¯ãæ€çŽ¢ãè¡ãããã¡ã³ããŒãäžæåæ¢ç¶æ ã§ãã£ãŠãããã®ã¡ã³ããŒã®ããã«MemberInfoãè¿ãããã«ãªããŸãããããã«ãããã¡ã³ããŒã¯ãã€ã§ãèªåã®ã¹ããŒã¿ã¹ã確èªã§ããŸãã- upgrade virtual node ãšã³ããã€ã³ã
/api/v5_1/virtualnode/{virtualnodeshortid}/cpi/{targetcpifilechecksum}ã¯ãforceupgradeãšãããªãã·ã§ã³ã®ã¯ãšãªãã©ã¡ãŒã¿ãåãããã«ãªããŸãããããã¯ãååã®ã¢ããã°ã¬ãŒãã倱æããå Žåã«trueã«èšå®ããŸããããã©ã«ãå€ã¯falseã§ãã - æ°ãããšã³ããã€ã³ãã远å ããããããŒã®çµæã JSON ã§è¿ããŸã:
/flow/{holdingidentityshorthash}/{clientrequestid}/resultã
ä¿®æ£æžã¿ã®åé¡
ã«ã¹ã¿ã Ledgerã¯ãšãª
ããŒãžã³ã°ã䜿çšããå°åž³ã®ã«ã¹ã¿ã ã¯ãšãªããã¯ãšãªã® where å¥ã倿Žãããå Žåã«ãããŒã¿ã®è¡ãã¹ãããããå ŽåããããŸãããããã¯ãã¯ãšãªã where å¥ã®äžéšãšã㊠consumed ãã£ãŒã«ãã䜿çšãã以åã«ååŸãããããŒãžã®1ã€ä»¥äžã®ã¹ããŒããã¯ãšãªã®æçµããŒãžãè¿ãããåã«æ¶è²»ãããå Žåã«æãäžè¬çã«çºçããŸããããã®å€æŽã®çµæãVaultNamedParameterizedQueryã¯ã¯ãšãªã«offsetãæå®ããããšãèš±å¯ããªããªããŸããããã®ã€ã³ã¿ãŒãã§ãŒã¹ã§ setOffsetãåŒã³åºããšãäŸå€ãã¹ããŒãããŸããCorDappãããŒã¯ãã®å±æ§ãèšå®ããŠã¯ãããŸããã代ããã«ãã¯ãšãªã®ããŒãžã³ã°ãå¿
èŠãªå Žåã¯ãæåã®ã¯ãšãªåŒã³åºãããè¿ããã ResultSet ã䜿çšããå¿
èŠããããŸãã
æ¢ç¥ã®åé¡ãšå¶éäºé
å¶éã®ãªãã¯ãšãª
å¶éã®ãªãç¶æ ã§ vault-named ãŸãã¯æšæºã®æ°žç¶æ§ã¯ãšãªãå®è¡ããããšããšã©ãŒãçºçããŸãã
Vault {{< enterprise-icon >}} ã®äžã§ã®æå·ããŒã¿ããŒã¹ã®ãã¹ã¯ãŒãã®å€æŽ E
ã¯ãªããããŒã¿ããŒã¹ã®ã¯ã©ã¹ã¿ãŒã¬ãã«ã®ãã¹ã¯ãŒãã¯ã倿ŽãããŠãVaultããåèªã¿èŸŒãŸããŸããã
ããŒã¿ãªãŒã®éžæ
ããŒã¿ãªãŒä»®æ³ããŒãã®éžæããžãã¯ïŒNotaryVirtualNodeSelectorServiceImplïŒã«ã¯ãä¿çäžããã³åæ¢äžã®ã¡ã³ããŒãå«ãŸããŸãã
ãããŒãµãŒãã¹ã®äŸå€
äžéšã®ã±ãŒã¹ã§ã¯ããããŒãµãŒãã¹ãã©ã ãåŒã䜿çšããå Žåã«äŸå€ãã¹ããŒããŸãããã®åé¡ã¯ASMã©ã€ãã©ãªã®ãã°ã«èµ·å ããŠããŸãã
