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ã¯ContractState
JSONãªããžã§ã¯ãã®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ã©ã€ãã©ãªã®ãã°ã«èµ·å ããŠããŸãã