Corda Enterprise 4.12.5
Corda Enterprise Edition 4.12.5 ã¯ãåé¡ã®è§£æ±ºã«çŠç¹ãåœãŠã Corda Enterprise Edition ã®ããããªãªãŒã¹ã§ãã
ä¿®æ£ãããåé¡
- Corda 4.11ããã³ãã以åã®ããŒãžã§ã³ã§ã¯ãããŒããã³ã³ãã©ã¯ããæ€èšŒããéããããã¯ãã¹ãŠCordaããŒãããã»ã¹å
ã§æ€èšŒãããŠããŸãããã€ãŸããã«ãã»ã«çµç±ã§ããŒãããã»ã¹ã§å®çŸ©ãããã«ã¹ã¿ã ã³ãã³ãã©ã€ã³å±æ§ïŒã·ã¹ãã ããããã£ãªã©ïŒã¯ãã³ã³ãã©ã¯ãæ€èšŒã§ç¢ºèªã§ãããšããããšã«ãªããŸããCorda 4.12ã§ã¯ã4.12ã®ã³ã³ãã©ã¯ãã¯äŸç¶ãšããŠCordaããŒãããã»ã¹ã§æ€èšŒãããŸãããã¬ã¬ã·ãŒïŒã€ãŸãã4.11以åïŒã®ã³ã³ãã©ã¯ãã¯ãæ°ããå€éšæ€èšŒããã»ã¹ã§æ€èšŒãããããã«ãªããŸããããã®å€éšæ€èšŒããã»ã¹ã¯å¥ã®ããã»ã¹ã§ãããããCordaããŒãããã»ã¹ã§èšå®ãããã«ã¹ã¿ã ã³ãã³ãã©ã€ã³å±æ§ã¯åãåããŸããããããä¿®æ£ããããã«ãã«ã¹ã¿ã ã³ãã³ãã©ã€ã³å±æ§ãå€éšæ€èšŒããã»ã¹ã«æž¡ãããšãã§ããæ°ããæ§æãã£ãŒã«ããå®çŸ©ãããŸããããã®æ°ããæ§æãã£ãŒã«ãã¯
custom.externalVerifierJvmArgsã§ãã
詳现ã¯ãæ§æãã£ãŒã«ãã»ã¯ã·ã§ã³ã®customæ§æãã£ãŒã«ããåç
§ããŠãã ããã
Corda Enterprise 4.12.4
Corda Enterprise Edition 4.12.4 ã¯ãã»ãã¥ãªãã£ã¢ããããŒãã«å¯Ÿå¿ããããã®äŸåé¢ä¿ã®ã¢ããã°ã¬ãŒãã«çŠç¹ãåœãŠãCorda Enterprise Edition ã®ããããªãªãŒã¹ã§ãã
ä¿®æ£ãããåé¡
- Log4jã«ååšããããã°ãã¡ã€ã«ã«éå°ãªã¡ãã»ãŒãžãæžã蟌ãŸããå¯èœæ§ãããæ¬ é¥ãåé¿ãããããLog4jã®ããŒãžã§ã³ã2.23.1ãã2.23.0ã«ããŠã³ã°ã¬ãŒããããŸãããä¿®æ£ãããLog4jãå©çšå¯èœã«ãªã£ãæç¹ã§ããã®ããŒãžã§ã³ã¯ããæ°ããããŒãžã§ã³ã«æŽæ°ãããäºå®ã§ãã
ãµãŒãããŒãã£ã³ã³ããŒãã³ãã®ã¢ããã°ã¬ãŒã
以äžã®è¡šã¯ã4.12.3ãš4.12.4Enterprise Editionséã®äŸåããŒãžã§ã³å€æŽããŸãšãããã®ã§ãã
Dependency | Name | Version 4.12.3 Enterprise | Version 4.12.4 Enterprise |
io.netty:netty-buffer
io.netty:netty-codec*
io.netty:netty-common
io.netty:netty-handler*
io.netty:netty-resolver
io.netty:netty-transport* | Netty | 4.1.109.Final | 4.1.115.Final |
org.apache.logging.log4j:* | Apache | 2.23.1 | 2.23.0 |
Corda Enterprise 4.12.3
Corda Enterprise Edition 4.12.3 ã¯ãåé¡ã®è§£æ±ºã«çŠç¹ãåœãŠã Corda Enterprise Edition ã®ããããªãªãŒã¹ã§ãã
ä¿®æ£ãããåé¡
- CorDappã®ãã«ãããšã©ãŒ
java.lang.NoSuchFieldError: id_ml_dsa_44ãçºçããŠãã«ãã«å€±æããããšãããåé¡ãä¿®æ£ãããŸããããã®åé¡ã¯ãBouncy Castleã©ã€ãã©ãªã«ãããããŒãžã§ã³äžäžèŽã«ãã£ãŠçºçããŠããŸãããBouncy Castleã®æ°ããLTSããŒãžã§ã³ããã®ãã£ãŒã«ããå°å ¥ããBouncy Castleã®äŸåé¢ä¿ã§æå®ãããããŒãžã§ã³ç¯å²ã«ãã£ãŠãããéžæãããŠããŸããããã®åé¡ã¯ãçŸåšãCordaå ã§Bouncy Castleã®äŸåé¢ä¿ãç¹å®ã®ããŒãžã§ã³ã«åºå®ããããšã§è§£æ±ºãããŠããŸãã ClassNotFoundãšã©ãŒã«ãããã©ã³ã¶ã¯ã·ã§ã³æ€èšŒã倱æããããšããªããªããŸãããããã¯ãå€éšæ€èšŒåšå ã®ã¬ã¬ã·ãŒãªãã©ã³ã¶ã¯ã·ã§ã³ããã³ãã³ãããã·ãªã¢ã©ã€ãºããéã«çºçããŠããŸããããã·ãªã¢ã©ã€ãŒãŒã·ã§ã³æã«äœ¿çšãããã¯ã©ã¹ããŒããŒã«CorDappãå«ãŸããŠããããäžè¶³ããŠããã¯ã©ã¹ãèªåçã«æ§ç¯ã§ããªãã£ãããã«çºçããããšããããŸããããã®åé¡ã解決ãããã®ã¯ããã·ãªã¢ã©ã€ãŒãŒã·ã§ã³æã«CorDappã¯ã©ã¹ãå©çšå¯èœã«ãªã£ãããã§ããããã«ãäžè¶³ããŠããã¯ã©ã¹ã®èªåæ§ç¯æ©èœã¯ãå€éšæ€èšŒè ã§ã¯ç¡å¹åãããŸããã- ãã©ã³ã¶ã¯ã·ã§ã³ãªã«ããªããµããŒãããããã«CordaããŒãžã§ã³4.11ã§å°å ¥ããããin-flight transactionããšããç¶æ ãæã€ãã©ã³ã¶ã¯ã·ã§ã³ã¯ãLedger Graph CorDappããã©ã³ã¶ã¯ã·ã§ã³ã°ã©ããæ§ç¯ããéã«å«ãŸããªããªããŸãããCorDappã¯çŸåšãin-flightã®ç¶æ ãæã€ãã¹ãŠã®ãã©ã³ã¶ã¯ã·ã§ã³ãç¡èŠããŸãã
- Notaryã®å¥å šæ§ãã§ãã¯ã¯ã©ã€ã¢ã³ãããŒã«ã¯ãçŸåšãåé¡ãªãèµ·åããŸãã
- æ€èšŒãã¡ã€ã«ã空çœè¡ãå«ãã§ããå Žåã§ããæäŸãããåæ€èšŒãã¡ã€ã«ã䜿çšããTransaction Validator Utility (TVU) ããæ€åºããããã©ã³ã¶ã¯ã·ã§ã³ã®æ°ãæ£ç¢ºã«å ±åããããã«ãªããŸããã
Corda Enterprise 4.12.2
Corda Enterprise Edition 4.12.2 ã¯ãåé¡ã®è§£æ±ºã«çŠç¹ãåœãŠã Corda Enterprise Edition ã®ããããªãªãŒã¹ã§ãã
Transaction Validator UtilityïŒTVUïŒã®æŽæ°
次ã®ã»ã¯ã·ã§ã³ã§ã¯ãTransaction Validator UtilityïŒTVUïŒãšCorda 4.12ããŒãã®å®è¡ã«é¢ããæŽæ°ãããèŠä»¶ã«ã€ããŠèª¬æããŸãã 以åã®ããã¥ã¡ã³ããæç¢ºåãã匷åããŠããŸãã çŸåšã®ããããªãªãŒã¹ããã¥ã¡ã³ãã¯ã以äžã®å 容ãåæ ããŠæŽæ°ãããŠããŸãã
- ã¬ã¬ã·ãŒã³ã³ãã©ã¯ããã£ã¬ã¯ããªïŒãããã¯ãŒã¯äžã®ãã¹ãŠã®ããŒããããŒãžã§ã³4.12ã®ããŒãã§ããå ŽåãTVUãå®è¡ããéããŸãã¯4.12ããŒããå®è¡ããéã«ãã¬ã¬ã·ãŒã³ã³ãã©ã¯ããã£ã¬ã¯ããªã¯äžèŠã«ãªããŸããã
- 4.12 ç°å¢èŠä»¶ïŒTVU 㯠4.12 ç°å¢ïŒããŒã¿ããŒã¹ãé€ãïŒã§å®è¡ããå¿
èŠããããŸããå
·äœçã«ã¯ã
cordappsãã£ã¬ã¯ããªã«ã¯ 4.12 äºæã® CorDapps ã®ã¿ãå«ããå¿ èŠããããŸããäžèšãTransaction Validator Utilityãå ã® 1.ãåç §ããŠãã ããã - ã¬ã¬ã·ãŒã³ã³ãã©ã¯ããã£ã¬ã¯ããªã®ç®çïŒã¬ã¬ã·ãŒã³ã³ãã©ã¯ããã£ã¬ã¯ããªã¯ã4.12 ããŒãã§ã¬ã¬ã·ãŒã³ã³ãã©ã¯ããå«ããã©ã³ã¶ã¯ã·ã§ã³ãæ§ç¯ã§ããããã«ããããã«ã®ã¿å¿ èŠã§ããããã¯ã4.12ããŒããš4.12以åã®ããŒããæ··åšãããããã¯ãŒã¯ã§ã®ã¿é©çšãããŸãã
- ã¬ã¬ã·ãŒJARsãã£ã¬ã¯ããªïŒTVUãšããŒãã®äž¡æ¹ãå®è¡ããå Žåã¯ã
legacy-jarsãã£ã¬ã¯ããªãå«ããå¿ èŠããããŸãã詳现ã¯ãäžèšãCorda 4.12 ããŒããå ã®4.ãåç §ããŠãã ããã
Transaction Validator Utility
TVUã®ç®çã¯ãã¬ã¬ã·ãŒã»ãã©ã³ã¶ã¯ã·ã§ã³ã®æ€èšŒæã«4.12ããŒããå®è¡ããåŠçãæš¡å£ããæ€åºããããšã©ãŒãå ±åããããšã§ãã
- TVUã¯ã4.12ããŒãã®ãã£ã¬ã¯ããªã§å®è¡ããå¿
èŠããããæ€èšŒå¯Ÿè±¡ã®4.11ããŒã¿ããŒã¹ïŒãŸãã¯4.11ã«ã¢ããã°ã¬ãŒãããããŒã¿ããŒã¹ïŒã䜿çšããŸããCorDappsãã£ã¬ã¯ããªã«ã¯4.12 CorDappsãå«ãŸããŠããããšã確èªããå¿
èŠã«å¿ããŠã
legacy-jarsãã£ã¬ã¯ããªã«4.12以åã®äŸåé¢ä¿ãå«ããŸããããã¯ãå°åž³äžã®æ¢åã³ã³ãã©ã¯ãã®æ·»ä»ãã¡ã€ã«ã§å¿ èŠãšãªãå Žåã§ãïŒäžèšãCorda 4.12 ããŒããå ã®4.ãåç §ïŒãlegacy-contractsãã£ã¬ã¯ããªã¯å¿ é ã§ã¯ãããŸããã
Corda 4.12 ããŒã
- ãããã¯ãŒã¯ã«4.12ããŒããš4.12以åã®ããŒããæ··åšããŠããå Žåãå4.12ããŒãã«ã¯ã4.12以åã®ã³ã³ãã©ã¯ãCorDappsãå«ã
legacy-contractsãã£ã¬ã¯ããªãå¿ èŠã§ããããã«ããã4.12ããŒãã¯4.12以åã®ã³ã³ãã©ã¯ããå«ããã©ã³ã¶ã¯ã·ã§ã³ãæ§ç¯ã§ããããã«ãªãã4.12以åã®ããŒããšã®çžäºéçšãå¯èœã«ãªããŸãããã®ã·ããªãªã§ã¯ãlegacy-jarsãã£ã¬ã¯ããªãå¿ èŠã«ãªãå ŽåããããŸããäžèš4.ãåç §ããŠãã ããã - ãããã¯ãŒã¯ãã¢ããã°ã¬ãŒãããã4.12ããŒãã®ã¿ã§æ§æãããŠããå Žåã
legacy-contractsãã£ã¬ã¯ããªã¯å¿ èŠãããŸããã4.12ããŒãã¯ãã¬ã¬ã·ãŒã³ã³ãã©ã¯ãã®ãªããã©ã³ã¶ã¯ã·ã§ã³ãäœæããŸãããããã¯ãŒã¯ã«4.12以åã®ããŒãããªããããlegacy-contractsãã£ã¬ã¯ããªããªããšãåé¡ãããŸããããã®ã·ããªãªã§ã¯ãå°åž³ã«ã¯ãã§ã«4.12以åã®ãã©ã³ã¶ã¯ã·ã§ã³ãå«ãŸããŠãããããlegacy-jarsãã£ã¬ã¯ããªãå¿ èŠã«ãªãå ŽåããããŸãã - 4.12以åã®ãã©ã³ã¶ã¯ã·ã§ã³ã¯ãæ€åºãããæç¹ã§å€éšæ€èšŒããã»ã¹ã§æ€èšŒãããŸãããã®ããã»ã¹ã¯ãããã©ã«ãã§ã¯Corda 4.11以åã«å梱ãããŠãããµãŒãããŒãã£ã©ã€ãã©ãªããã¹ãŠå«ãã§ãããããŸãã
driversãã£ã¬ã¯ããªãã¯ã©ã¹ãã¹äžã«æã£ãŠããŸããããããå°åž³æ·»ä»ã®ã³ã³ãã©ã¯ããããã®ãããªãµãŒãããŒãã£ã©ã€ãã©ãªããCorda 4.11以åã®driversãã£ã¬ã¯ããªå ã®ã³ã³ãã³ãã«äŸåããŠããå Žåãå¿ èŠãªJARãã¡ã€ã«ãããŒããã£ã¬ã¯ããªå ã®legacy-jarsãšãããã£ã¬ã¯ããªã«é 眮ããããšãã§ããŸãããã®ãã£ã¬ã¯ããªå ã®JARã¯ãã¹ãŠãå€éšæ€èšŒè ã®ã¯ã©ã¹ãã¹ã«è¿œå ãããŸããTVUã¯ããã®ãããªåé¡ã®ç¹å®ãšè§£æ±ºã®æ€èšŒããµããŒãããŸãã
ä¿®æ£ãããåé¡
- å€éšæ€èšŒè
ã
legacy-contractsãã©ã«ãã䜿çšããå¿ èŠã¯ãªããªããŸãããå€éšæ€èšŒè ã¯ã4.12ããåã®ãã©ã³ã¶ã¯ã·ã§ã³ãæ€èšŒããã³ã³ãã©ã¯ãã®æ·»ä»ãã¡ã€ã«ãååŸããéã«ããŒã¿ããŒã¹ã®ã¿ã䜿çšããŸãã - ãè€æ°ã®äž»äœã«éä¿¡ãããã³ãè€æ°ã®äž»äœããåä¿¡ãã®æäœã®åšèŸºã«ããªãŒãã³ãªãã¬ã¡ããªãŒã¹ãã³ã远å ãããŸããã
- 以åã¯ããã©ã³ã¶ã¯ã·ã§ã³ãã«ããŒã§ãäžè¶³ããŠããäŸåé¢ä¿ã远å ããããšããéã«ãæ€èšŒã®è©Šè¡ã«å€±æãããšãã°ã«èšé²ãããŠããŸããã çŸåšã¯ãäžè¶³ããŠããäŸåé¢ä¿ã決å®ããéã«å€±æããå Žåã¯ããã®è©Šè¡ã¯ãã°ã«èšé²ãããªããªããŸããã
- ãã®ãªãªãŒã¹ã«ã¯ãAMQP ã·ãªã¢ã©ã€ãŒãŒã·ã§ã³ã®ããã©ãŒãã³ã¹æ¹åãå«ãŸããŠããŸãã
- ãã¹ãçšã«ãã©ã€ã DSL ã䜿çšããéãX.500 åã® Organization (O) ãã£ãŒã«ãå€ã¯åãã§ãOrganization Unit (OU) å€ãç°ãªã2ã€ã®ããŒããäœæã§ããããã«ãªããŸããã
- ãã¹ãç®çã§äžé£ã®mock networksãäœæããéã«ãã¡ã¢ãªãªãŒã¯ãçºçããªããŸããã
- æå°ãã©ãããã©ãŒã ããŒãžã§ã³ã140ïŒããªãã¡ã4.12ïŒã®å Žåããã©ã³ã¶ã¯ã·ã§ã³ãã«ããŒãã¬ã¬ã·ãŒã¢ã¿ããã¡ã³ãããã©ã³ã¶ã¯ã·ã§ã³ã«æ·»ä»ããªããªããŸããã
- æåŸ ããããµããžã§ã¯ãåãå®éã®ãµããžã§ã¯ãåãšäžèŽãããFloatãåæãããå ŽåãèŠåãèšé²ãããŸãã
- TVUã¯ããã·ãªã¢ã©ã€ãºãã¹ãã®äžéšãšããŠåºåstatesããã·ãªã¢ã©ã€ãºããéã«ãCorDappsã¯ã©ã¹ããŒããŒãå«ããããã«ãªããŸãããããã«ãTVUã¯ãããŒããšåãadd-opensãªãã·ã§ã³ã®ã»ãããå«ããããã«ãªããŸããã
- TVUã¯ããã©ã³ã¶ã¯ã·ã§ã³ã®æ€èšŒæã«JDK17ã¢ã¿ããã¡ã³ããããŒã¿ããŒã¹ã«æžã蟌ãŸãªããªããŸããã
- TVUã®ã¡ã¢ãªãªãŒã¯ãè§£æ¶ãããŸããã
- TVUããã®ãã«ãã€ã³ã¿äŸå€ïŒäžéšã®èŠªãã¹ã解決ããå ŽåïŒãè§£æ¶ãããŸããã
- TVUã¯ãå¥ã®äŸå€ã®JSON衚çŸãåºåããéã«äŸå€ãçºçãããªããªããŸããã
- TVUã¯ãããŒããšåãæ¹æ³ã§æ§æãã¡ã€ã«ãè§£æããããã«ãªããŸããã
- æ°ãã
legacy-jarsãã£ã¬ã¯ããªãå°å ¥ããã以åã®ããŒãžã§ã³ã®Cordaãšã®äžäœäºææ§ãåäžããŸããã詳现ã¯ãäžèšã®èª¬æããã³ã¢ããã°ã¬ãŒãã¬ã€ããåç §ããŠãã ããã - R3ãæäŸããCorDappsã®ã³ã³ãã©ã¯ãJAR眲åããŒã®ããŒããŒã·ã§ã³ã¯ããã®ããããªãªãŒã¹ã«å«ãŸããŠããŸãã
æ¢ç¥ã®åé¡
- Finance Contracts CorDappã誀ã£ãŠCorda Enterprise 4.12ããŒãJARã«çµã¿èŸŒãŸãããããããŸããŸãªãã¹ãã«åé¡ãçãããããã®ã³ã³ãã©ã¯ãããã©ã³ã¶ã¯ã·ã§ã³ã§äœ¿çšãããã¹ãŠã®äººã«åœ±é¿ãåã¶å¯èœæ§ããããŸãããFinance CorDappã䜿çšããŠããå Žåã¯ãR3ã¯ãã§ããã°ããŒãžã§ã³4.12ã®çšŒååã«ããã®ããããªãªãŒã¹ã«ã¢ããã°ã¬ãŒãããããšã匷ããå§ãããŸãã
ãµãŒãããŒãã£ã³ã³ããŒãã³ãã®ã¢ããã°ã¬ãŒã
以äžã®è¡šã¯ã4.12.1ãš4.12.2Enterprise Editionséã®äŸåããŒãžã§ã³å€æŽããŸãšãããã®ã§ãã
Dependency | Name | Version 4.12.1 Enterprise | Version 4.12.2 Enterprise |
org.eclipse.jetty:* | Jetty | 12.0.7 | 12.0.14 |
commons-io:commons-io | commons IO | 2.7 | 2.17.0 |
org.apache.commons:commons-configuration2 | commonsConfiguration2 | 2.10.1 | 2.11.0 |
org.apache.sshd:sshd-common | sshd | 2.12.1 | 2.13.2 |
org.apache.zookeeper:* | Zookeeper | 3.8.3 | 3.8.4 |
Corda Enterprise 4.12.1
Corda Enterprise Edition 4.12.1 ã¯ãåé¡ã®è§£æ±ºã«çŠç¹ãåœãŠã Corda Enterprise Edition ã®ããããªãªãŒã¹ã§ãã
ã¢ããã°ã¬ãŒãã®æšå¥š
Corda Enterprise 4.11以åã®ããŒãžã§ã³ãã4.12ãžã®ã¢ããã°ã¬ãŒãã«é¢ããæ³šæç¹ã«ã€ããŠã¯ã4.12ã®ãªãªãŒã¹ããŒãããåç §ãã ããã
ä¿®æ£ãããåé¡
ReceiveFinalityFlowã¯ãNotaryã®çœ²åã®ãªãååŒãè¿ããŠããŸãããããã¯çŸåšä¿®æ£ãããè¿ãããååŒã«ã¯Notaryã®çœ²åãå«ãŸããŠããŸãã- ãããŸã§
ReceiveTransactionFlowã¯ãResolveTransactionFlowã®å®è¡åã«ããã©ã³ã¶ã¯ã·ã§ã³äžã®network parametersãååšããããšã確èªããŠããŸãããããã¯ãç¹å®ã®ã·ããªãªã§åé¡ãåŒãèµ·ããå¯èœæ§ããããŸãããäŸãã°ãç§»è¡ããããããã¯ãŒã¯ã®æ°ããNodeã«ãããã¬ãã«ã®ãã©ã³ã¶ã¯ã·ã§ã³ãéä¿¡ããå Žåãå€ãnetwork parametersã¯æ°ããNodeã«ã¯ååšããªãããã§ãã ãã®åé¡ã¯çŸåšä¿®æ£ãããŠããŸãã - ããã³ãŒããã¹ã§ã®ããŒãã£ç¹å®ã«ãããŠã
wellKnownPartyFromAnonymousã¯ãX.500åã®ç¹å®ã詊ã¿ãéã«ãnetwork parametersããNotaryãèæ ®ããŠããŸããã§ããããã®ã·ããªãªã¯ãæ°ããç§»è¡ããããããã¯ãŒã¯ã«æ°ããNodeãå°å ¥ããéãæ°ããNodeã®network mapã«å€ãNotaryãå«ãŸããŠããªãããã«çºçããå¯èœæ§ããããŸããã ãã®åé¡ã¯çŸåšä¿®æ£ãããŠããŸããçŸåšããã§ãã¯æã«network parametersããNotaryãèæ ®ãããŸãã
Corda Enterprise Edition 4.12ãªãªãŒã¹ããŒã
Corda Enterprise Edition 4.12ãªãªãŒã¹ã§ã¯ãJavaãšKotlinã®ããŒãžã§ã³ã¢ãããšãããã«äŒŽãã¢ããã°ã¬ãŒããµããŒããå°å ¥ãããŸãããJavaãšKotlinã®ã¢ããã°ã¬ãŒãããµããŒãããæ©èœä»¥å€ã«ã¯ã倧ããªæ°æ©èœã¯å°å ¥ãããŠããŸããããã®ãªãªãŒã¹ã§ã¯ãJava 㯠Java 8 ãã Java 17 ã«ã¢ããã°ã¬ãŒããããKotlin 㯠1.2.71 ãã Kotlin 1.9.20 ã«ã¢ããã°ã¬ãŒããããŸããã
CorDapp(s)ãšããŒãã4.12ã«æ£åžžã«ã¢ããã°ã¬ãŒãããããšãåããããã¯ãŒã¯äžã§ã4.12ãš4.11ïŒãŸãã¯ãã以åïŒã®å°åž³äžã®æ¢åã®ãã©ã³ã¶ã¯ã·ã§ã³ãå«ãããŒããã·ãŒã ã¬ã¹ã«çžäºéçšããããšãã§ããŸãã
æ¢åã®ããã¯ãã§ãŒã³ããæ§ã³ã³ãã©ã¯ããæ±ãå¿ èŠãããããã«ãæ°ããJavaãšKotlinã®ããŒãžã§ã³ããµããŒãããããšããã®CordaããŒãžã§ã³ã®å€§ããªç¹åŸŽã§ãããŸããJavaãšKotlinã®ã¢ããã°ã¬ãŒãã¯ãCorDappéçºè ã«ãšã£ãŠãæå³ããããŸãã
ãªããä»ã®å€æŽãå ããã«Corda JARãåçŽã«çœ®ãæããããšã¯ã§ããŸããã
ã¢ããã°ã¬ãŒãæšå¥š
ããŒããCorda 4.12ã«ã¢ããã°ã¬ãŒãããéã«ã¯ãããŒãããŒã¿ããŒã¹äžã§ãã©ã³ã¶ã¯ã·ã§ã³ããªããŒã¿ãŒãŠãŒãã£ãªãã£ãå®è¡ããå€ãããŒãã®ãã©ã³ã¶ã¯ã·ã§ã³ã4.12ããŒããšäºææ§ãããããšã確èªããããšãéåžžã«éèŠã§ãã
ãã©ã³ã¶ã¯ã·ã§ã³ã®äºææ§ã確ä¿ããããã«ã¯ãã¢ããã°ã¬ãŒããããŠããªãå€ãããŒãã§ãã¢ããã°ã¬ãŒããããããŒããšããåãããå¯èœæ§ãããå Žåã¯ããã©ã³ã¶ã¯ã·ã§ã³ããªããŒã¿ãŒãŠãŒãã£ãªãã£ãå®è¡ããå¿ èŠããããŸãã
詳现ã«ã€ããŠã¯ããã©ã³ã¶ã¯ã·ã§ã³ããªããŒã¿ãŒãŠãŒãã£ãªãã£ãåç §ããŠãã ããã
éçºè ãŸãã¯ããŒããªãã¬ãŒã¿ãšããŠãã§ããã ãæ©ãCordaã®ææ°ãªãªãŒã¹ããŒãžã§ã³ã«ã¢ããã°ã¬ãŒãããå¿ èŠããããŸããææ°ã®Corda EnterpriseãªãªãŒã¹ããŒãã¯ãã®ããŒãžã«ãããŸããææ°ã®ã¢ããã°ã¬ãŒãã¬ã€ãã¯Corda Enterprise Edition 4.11ãã4.12ãžã®ã¢ããã°ã¬ãŒãã¬ã€ããåç §ããŠãã ããã
ãã®ã¬ã€ãã®æé ã¯ãCorda 4.11ãã4.12ãžã®çŽæ¥ã¢ããã°ã¬ãŒãã«ã®ã¿æå¹ã§ããããŒãžã§ã³4.10以äžã®ããŒããããå Žåã¯ãæåã«4.11ã«ã¢ããã°ã¬ãŒãããå¿ èŠããããŸãããã®ããã«ã¯ã該åœãããªãªãŒã¹ã®ã¢ããã°ã¬ãŒãããã¥ã¡ã³ããåç §ããŠãã ããã
ãã©ãããã©ãŒã ããŒãžã§ã³å€æŽ
Corda 4.11 ã¯ãã©ãããã©ãŒã ããŒãžã§ã³140ã䜿çšããŠããŸãã
ãã©ãããã©ãŒã ããŒãžã§ã³ã«é¢ãã詳现ã¯ãVersioningãåç §ããŠãã ããã
æ°æ©èœãæ¹åç¹ãå¶éäºé
JavaãšKotlinã®ã¢ããã°ã¬ãŒã
Corda 4.12ã§ã¯Java 17ãšKotlin 1.9.20ãå¿ èŠã§ããããªãã¡ãCorda 4.12ãšäºææ§ãæãããããã«ã4.11以åã§æžãããã¬ã¬ã·ãŒãªCorDappsãJava 17ãšKotlin 1.9.20ã§åäœããããã«åã³ã³ãã€ã«ããå¿ èŠããããŸãããããã®ã¢ããã°ã¬ãŒãã¯Cordaã®ãµããŒãæ§ãšã»ãã¥ãªãã£ã匷åããŸãã
Corda SDKã®Java 17äºæãªãªãŒã¹
ããŒã¹ãšãªãCordaããã±ãŒãžã«ã¯ãããã€ãã®SDKãšã©ã€ãã©ãªãå«ãŸããŠããŸãããããã®SDKãšã©ã€ãã©ãªã¯Java 17ãšKotlin 1.9.20ãšäºææ§ããããŸã
SDK/ã©ã€ãã©ãª | Java 17äºæãªãªãŒã¹ |
corda-shell | 4.12 |
r3-libs | 1.4 |
confidential-identities | 1.2 |
accounts | 1.1 |
token-sdk | 1.3 |
reissue-cordapp | 1.1 |
archiving | 1.2 |
ledger-graph | 1.3 |
r3-tools | 4.12 |
Transaction Validator Utility
Corda 4.12ã§ã¯ãCorda 4.12ãžã®ã¢ããã°ã¬ãŒãæã«ãã€ã°ã¬ãŒã·ã§ã³åŸã®ãšã©ãŒãåé¿ããããã«ãããŒã¿ããŒã¹ã«ã³ãããããããã©ã³ã¶ã¯ã·ã§ã³ãæ€èšŒããããŒã«ã§ããTransaction Validator Utility (TVU)ãå°å ¥ãããŸããã詳现ã¯Transaction Validator Utility ãåç §ããŠãã ããã
眲åå¶çŽã䜿çšããCorDappsã®ã¿ãµããŒã
Corda 4.12ã§ã¯çœ²åå¶çŽã䜿çšããCorDappsã®ã¿ããµããŒããããŠããŸããããã·ã¥å¶çŽã¯ãµããŒããããŠããŸããã
眲åå¶çŽã®äœ¿çšã¯ãCorDappã®ã¢ããã°ã¬ãŒãããã»ã¹ã容æã«ãããããCordaã®ä»¥åã®ãªãªãŒã¹ã§æšå¥šãããŠããŸãããããã·ã¥å¶çŽã䜿çšããŠãã4.11ã®CorDappsãããå Žåã¯ã4.12ã«ã¢ããã°ã¬ãŒãããåã«4.11ã®çœ²åå¶çŽã«ç§»è¡ããå¿ èŠããããŸãã
Corda4.11ãš4.12ã®CorDappsã¯åãããŒã»ããã§çœ²åããå¿ èŠããã
Java 17ãšKotlin 1.9.20çšã«4.12ã®CorDappsãåã³ã³ãã€ã«ããéã«ã¯ã4.11ã®CorDappã§äœ¿ãããã®ãšåãããŒã»ããã䜿ã£ãŠçœ²åããå¿ èŠããããŸãã
æç€ºçãªã³ã³ãã©ã¯ãã®ã¢ããã°ã¬ãŒãã¯ãµããŒããããªã
Corda 4.12ã§ã¯ãæç€ºçãªã³ã³ãã©ã¯ãã®ã¢ããã°ã¬ãŒãã¯ãµããŒããããŠããŸããã
toLedgerTransaction.verifyãæ§ãã©ã³ã¶ã¯ã·ã§ã³ã§åäœããªã
CorDappsãèŠçŽããŠã以äžã®ãããªåŒã³åºããããŠããªãããã§ãã¯ããŠãã ããã
SignedTransaction.toLedgerTransaction().verify()WireTransaction.toLedgerTransaction().verify()TransactionBuilder.toLedgerTransaction().verify()
äžèšã®åŒã³åºããè¡ãCorDappsã¯æ§ãã©ã³ã¶ã¯ã·ã§ã³ã§ã¯åäœããŸããããããã®CorDappsãäºææ§ã®ãããã®ã«ããã«ã¯ãSignedTransaction.verify()ã«å€æŽããŠãã ããã
CordaããŒããšã¯ã¹ãããŒã©ãJava 17ã«å¯Ÿå¿ããŠããªã
ããŒããšã¯ã¹ãããŒã©ã¯Java 17ã䜿çšããããã«å€æãããŠãããããªãªãŒã¹ããã¯ã§ã¯æäŸãããŠããŸãããããŒããšã¯ã¹ãããŒã©ã䜿ãããå ŽåãçŸåšã®å¯äžã®éžæè¢ã¯4.11ããŒããšã¯ã¹ãããŒã©ã䜿çšãã4.12ããŒãã«æ¥ç¶ããããšã§ãã
ãµã³ãã« Kotlin ãš Java ã®ãµããŒã
以äžã®2ã€ã®ãããªãã¯ãªããžããªã§æ§ã ãªCorDappã®ãµã³ãã«ãæäŸããŠããŸãïŒãã©ã³ã: release/4.12ïŒïŒ
- ãµã³ãã« Kotlin ãªããžããª
- ãµã³ãã«Javaãªããžããª
ã»ãšãã©ã®ãµã³ãã«ã¯Java 17ãKotlin 1.9.20ãGradle 7.6.4ã«å€æãããŠããŸãã
ãµã³ãã«ã¯Corda Open Sourceã§åäœããããã«äœãããŠããŸãããµã³ãã«ãCorda Enterpriseã§åäœããããã«å€æããã«ã¯ãæäœã§ããšã³ã¿ãŒãã©ã€ãºã¢ãŒãã£ãã¡ã¯ããã€ã³ã¹ããŒã«ãããŠãããªããžããªãæå®ããå¿
èŠããããŸãããŸããENTïŒcom.r3ïŒã®ã¢ãŒãã£ãã¡ã¯ãã°ã«ãŒãåã¯OSïŒnet.cordaïŒãšç°ãªãå¿
èŠããããŸããããšãã°ãnet.corda:corda-node-driver:4.12ïŒCorda OSïŒã¯com.r3.corda:corda-node-driver:4.12ïŒCorda ENTïŒã«çœ®ãæ¿ããŠãã ããã
以äžã®äŸåé¢ä¿ã¯ãµã³ãã«ã§äœ¿çšãããŠãããCorda OSããCorda Enterpriseã«åãæ¿ããããšãã§ããŸãïŒ
- corda
- corda-confidential-identities
- corda-core-test-utils
- corda-finance-workflows
- corda-jackson
- corda-node
- corda-node-api
- corda-node-driver
- corda-rpc
- corda-shell
- corda-test-utils
- corda-testserver-impl
以äžã®ãµã³ãã«ã¯Java 17ãšKotlin 1.9.20ã«å€æããããã¹ããããŠããŸãïŒ
CorDapp type | CorDapp |
Accounts | obligation-accounts |
sharestatewithaccount | |
supplychain | |
worldcupticketbooking | |
Advanced | duediligence-cordapp |
negotiation-cordapp | |
obligation-cordapp | |
superyacht-cordapp | |
syndicated-lending | |
Basic | cordapp-example |
flow-database-access | |
flow-http-access | |
opentelemetry-cordapp-example | |
ping-pong | |
tutorial-applestamp | |
tutorial-jarsigning | |
tutorial-networkbootrstrapper | |
Features | attachment-blacklist |
attachment-sendfile | |
confidentialIdentity-whistleblower | |
contractsdk-recordplayers | |
cordaService-autopayroll | |
customlogging-yocordapp | |
customquery-carinsurance | |
dockerform-yocordapp | |
encumbrance-avatar | |
multioutput-transaction | |
notarychange-iou | |
observableStates-tradereporting | |
oracle-primenumber | |
postgres-cordapp | |
queryableState-carinsurance | |
referenceStates-sanctionsBody | |
schedulableState-heartbeat | |
state-reissuance | |
Tokens | bikemarket |
dollartohousetoken | |
fungiblehousetoken | |
stockpaydividend | |
tokentofriend |
KotlinãšJavaã®CorDappãã³ãã¬ãŒã
以äžã®KotlinãšJavaã®CorDappãã³ãã¬ãŒãã¯Java 17ãKotlin 1.9.20ãGradle 7.6.4ã«å€æãããŸããããããã¯Corda Community EditionãšCorda Open Source Edition (branch: release/4.12) ã§åäœããããã«æžãããŠããŸãïŒ
- Kotlin CorDappãã³ãã¬ãŒã
- Java CorDappãã³ãã¬ãŒã
ãªãã·ã§ã³ã®ã²ãŒããŠã§ã€ãã©ã°ã€ã³ãªãªãŒã¹ããã¯ã¯ãªã
ãªãã·ã§ã³ã®ã²ãŒããŠã§ã€ãã©ã°ã€ã³ãªãªãŒã¹ããã¯ã«ã¯ãCENMã²ãŒããŠã§ã€ãµãŒãã¹ã§äœ¿çšããããããŒããã³ããŒã管çãã©ã°ã€ã³ãå«ãŸããŠããŸãããããã®ãã©ã°ã€ã³ã¯GUIããŒã¹ã®ãããŒããã³ããŒãç®¡çæ©èœãæäŸããŸããCENM ã¯ãŸã Java 17 ã䜿çšããããã«å€æãããŠããªãããããããã®ãã©ã°ã€ã³ã¯ 4.12 ãªãªãŒã¹ã«ã¯å«ãŸããŠããŸãããCENM ãšãã©ã°ã€ã³ã®å€æåŸãå°æ¥ã®ãªãªãŒã¹ã§è¿œå ãããäºå®ã§ãããããããŒããã³ããŒãç®¡çæ©èœã䜿ãããã®ã§ããã°ïŒ4.11optional-gateway-pluginsãªãªãŒã¹ããã¯ãããã©ã°ã€ã³ãå
¥æããŠïŒCENM ã²ãŒããŠã§ã€ãµãŒãã¹ã§äœ¿ãããšãã§ããŸãïŒ
å éšAPIããªãã¬ã¯ãã£ãã¢ã¯ã»ã¹ã䜿ãCorDapp
CorDappãå
éšAPIããªãã¬ã¯ãã£ãã¢ã¯ã»ã¹ã䜿ã£ãŠããå Žåãã³ãã³ãã©ã€ã³ã§æç€ºçã«ã¢ãžã¥ãŒã«ãéãå¿
èŠãããå¯èœæ§ããããŸããCordaãèµ·åããæã«ã1ã€ä»¥äžã®-add-opensãªãã·ã§ã³ã远å ããããšã§ããããè¡ãããšãã§ããŸãã
ä¿®æ£ãããåé¡
ããŒãèµ·åæã«ãããŒãåéãããå Žåã® Thread.contextClassLoader ã®èšå®
以åã¯ãããŒãèµ·åæã«ãããŒãåéãããå Žåãã¹ã¬ããã³ã³ããã¹ãã¯ã©ã¹ããŒããŒãèšå®ããããCorDappã¯ã©ã¹ã®ClassNotFoundåé¡ãåŒãèµ·ããå¯èœæ§ããããŸãããããã¯çŸåšä¿®æ£ãããŠããŸãã
æ¢ç¥ã®åé¡
ãã®ã³ã°ã¬ãã«ãTRACEã®ãšããäœåãªã¹ã¿ãã¯ãã¬ãŒã¹ãåºåãã
ã³ãã³ãã©ã€ã³ãªãã·ã§ã³--logging-level=TRACEã«ãã£ãŠãã¬ãŒã¹ã«èšå®ããããã°ã¬ãã«ã§ããŒããéå§ãããšãArtemisã®ãã°ã«ããLog4jããããã€ãã®Unable to format stack traceåºåã衚瀺ãããŸãããããã¯ç¡èŠã§ããããŒãã®æäœã«ã¯åœ±é¿ããŸããããããã¯ãorg.apache.activemq.artemis.core.paging.cursor.impl.PageCursorProviderImplãã¬ãŒããã®ãã¬ãŒã¹åºåãåé€ããã«ã¹ã¿ã log4j.xmlã«ãã£ãŠåé€ããããšãã§ããŸãã
Log4jã®èµ·åæã®Warning
ããã©ã«ãã®Log4jã§ããŒããèµ·åãããšã次ã®ã¡ãã»ãŒãžã衚瀺ãããŸã:main WARN The use of package scanning to locate plugins is deprecated and will be removed in a future release.ããã¯åãªãWarningã§ãããå®å
šã«ç¡èŠã§ããŸããçŸåšãä»£æ¿ææ®µã調æ»äžã§ãã
notaryhealthcheck-clientãèµ·åããªã
Corda 4.12ã®notaryhealthcheck-clientãèµ·åã«å€±æããŸããããã¯å°æ¥ã®ããããªãªãŒã¹ã§ä¿®æ£ãããäºå®ã§ããä»£æ¿ææ®µãšããŠãCorda 4.11ãªãªãŒã¹ã§æäŸãããŠããnotaryhealthcheck-clientã䜿çšããããšãã§ããŸãã
deployNodeså®è¡æã®Bouncy Castleããã®æç¶çãªWarning
Gradleã¿ã¹ã¯ã®deployNodesãå®è¡ãããšã以äžã®ãããªèŠåã¡ãã»ãŒãžã衚瀺ãããããšããããŸãïŒ
exception in disposal thread: org/bouncycastle/util/dispose/DisposalDaemon$3ããã¯çŸåšäœ¿çšããŠããBouncy Castleã®LTSããŒãžã§ã³ããã®èŠåã¡ãã»ãŒãžã§ããããŠãŒã¶ãŒãžã®åœ±é¿ã¯ãããŸããããã€ãã£ãã³ãŒãã«ããåç §ã®å»æ£ã«é¢é£ããŠåŒãèµ·ããããŸããå°æ¥ã®ããããªãªãŒã¹ã§ä¿®æ£ãããäºå®ã§ãã
ãµãŒãããŒãã£ã³ã³ããŒãã³ãã®ã¢ããã°ã¬ãŒã
以äžã®è¡šã¯ã4.11ãš4.12 Enterprise Editionã®éã®äŸåé¢ä¿ã®ããŒãžã§ã³å€æŽã®äžèЧã§ãïŒ
Dependency | Name | Version 4.11 Enterprise | Version 4.12 Enterprise |
com.google.guava:guava | Guava | 28.0-jre | 33.1.0-jre |
co.paralleluniverse:quasar-core | Quasar | 0.7.16_r3 | 0.9.0_r3 |
org.bouncycastle | Bouncy Castle | jdk18on:1.75 | lts8on:2.73.6 |
pro com.guardsquare:proguard-gradle | ProGuard | 6.1.1 | 7.3.1 |
org.yaml:snakeyaml | SnakeYAML | 1.33 | 2.2 |
com.github.ben-manes.caffeine:caffeine | Caffeine | 2.9.3 | 3.1.8 |
io.netty:netty-tcnative-boringssl-static | TC Native | 2.0.48.Final | 2.0.65.Final |
org.apache.commons:commons-configuration2 | Commons Configuration2 | 2.10.0 | 2.10.1 |
co.paralleluniverse:capsule | Capsule | 1.0.3 | 1.0.4_r3 |
org.ow2.asm:asm | ASM | 7.1 | 9.5 |
org.apache.activemq:* | Artemis | 2.19.1 | 2.32.0 |
com.fasterxml.jackson.* | Jackson XML | 2.13.5 | 2.17.0 |
org.eclipse.jetty.ee10:jetty-ee10-* | Jetty | 9.4.53.v20231009 | 12.0.7 |
org.glassfish.jersey.* | Jersey | 2.25 | 3.1.6 |
javax.validation:validation-api | Validation | - | 2.0.1.Final |
org.slf4j:* Simpe | Log4J | 1.7.30 | 2.0.12 |
org.apache.logging.log4j:* | Log4j | 2.17.1 | 2.23.1 |
com.squareup.okhttp3:okhttp | OK HTTP | 3.14.9 | 4.12.0 |
io.netty:* | Netty | 4.1.77.Final | 4.1.109.Final |
org.apache.commons:commons-fileupload2-jakarta | File Upload | 1.4 | 2.0.0-M1 |
com.esotericsoftware:kryo | Kryo | 4.0.2 | 5.5.0 |
org.mockito:mockito-core | Mockito | 2.28.2 | 5.5.0 |
org.mockito.kotlin:mockito-kotlin | Mockito for Kotlin | 1.6.0 | 5.2.1 |
org.jetbrains.dokka:dokka-gradle-plugin | Dokka for Gradle | 0.10.1 | 1.8.20 |
net.i2p.crypto:eddsa | EddSA | 0.3.0 | - |
com.zaxxer:HikariCP | Hikari | 3.3.1 | 5.1.0 |
org.iq80.snappy:snappy | Snappy | 0.4 | 0.5 |
commons-io:commons-io | Commons I/O | 2.6 | 2.7 |
org.javassist:javassist | Java Assist | 3.27.0-GA | 3.29.2-GA |
org.jooq:joor | Joor | - | 0.9.15 |
org.apache.curator:* | Apache Curator | 5.1.0 | 5.6.0 |
org.apache.zookeeper:zookeeper | Apache Zookeeper | - | 3.8.3 |
org.apache.commons:commons-dbcp2 | Apache Commons | - | 2.12.0 |
