Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(connector-corda): support corda 5 RC via TS/HTTP (no JVM) #1480

Closed
petermetz opened this issue Oct 25, 2021 · 18 comments
Closed

feat(connector-corda): support corda 5 RC via TS/HTTP (no JVM) #1480

petermetz opened this issue Oct 25, 2021 · 18 comments
Assignees
Labels
Corda enhancement New feature or request P1 Priority 1: Highest
Milestone

Comments

@petermetz
Copy link
Contributor

petermetz commented Oct 25, 2021

Description

  • Currently the Corda 4.x support in Cactus comes in the form of a JVM app under packages/cactus-plugin-ledger-connector-corda/src/main-server
  • We need Corda 5 support which can now be implemented in pure TS/JS (no more forced JVM, yaay) under packages/cactus-plugin-ledger-connector-corda/src/main/typescript
  • For now contract deployment is a lower priority task and do not need to be implemented in the scope of this GH issue
  • On a high level, most of the work will (probably) be done in the PluginLedgerConnectorCorda class which needs the constructor argument (config type) extended with connectivity details about the Corda 5 ledger that it is going to be talking to. Once those connection details are available the connector can instantiate an axios instance and then use that to talk to the ledger the same way that the Corda 5 AIO image's README showcases flow triggering via HTTP from the command line with curl.

Relevant discussion

Make sure to read this relevant discussion on this PR about where to put the code that uses the new Corda 5 TS/HTTP communication:
#1347

Useful Links

https://docs.r3.com/en/platform/corda/5.0-dev-preview-1.html
https://www.corda.net/blog/corda-5-developer-preview-running-your-first-cordapp/
https://www.corda.net/blog/corda-5-developer-preview-modular-apis/

cc: @elenaizaguirre

@petermetz petermetz changed the title feat(corda-connector): support corda 5 RC via TS/HTTP (no JVM) feat(connector-corda): support corda 5 RC via TS/HTTP (no JVM) Oct 25, 2021
@petermetz petermetz added Corda enhancement New feature or request labels Oct 26, 2021
@petermetz petermetz added the P1 Priority 1: Highest label Nov 4, 2021
@AzaharaC AzaharaC self-assigned this Jan 10, 2022
@petermetz
Copy link
Contributor Author

@AzaharaC I added more details, let me know if there are any questions and I can add more based on those.

@ruzell22
Copy link
Contributor

Hello @petermetz , can you assign me on this one? Thank you.

@petermetz petermetz assigned ruzell22 and unassigned AzaharaC Sep 13, 2022
@petermetz
Copy link
Contributor Author

Hello @petermetz , can you assign me on this one? Thank you.

@ruzell22 Done, thank you!

@jagpreetsinghsasan
Copy link
Contributor

jagpreetsinghsasan commented Mar 28, 2023

Hi @ruzell22
Thankyou for picking up the issue.
Do you have any update on this (or need some help/guidance in doing this)?

@ruzell22
Copy link
Contributor

Hello @jagpreetsinghsasan , apologies for not commenting here about the updates.
Currently here are the steps that I have done:

  • Testing with container CLI opened. Verify by starting a flow and checking the flow status with the flow ID
  • Compare result with the automatic testing code
  • Recreate result with the corda demo repository and compare similarities and differences in coding in cactus repository
  • Run postman to check connection with in corda v5

After the postman testing, we tried disabling the SSL certification verification there and the output was the expected successful start flow. Without it being disabled, the output is "certificate has expired" error. Currently trying to learn how to disable it in the repository in the axios part of the coding for corda v5 and will test it again once it is successful.

@jagpreetsinghsasan
Copy link
Contributor

Hello @jagpreetsinghsasan , apologies for not commenting here about the updates. Currently here are the steps that I have done:

  • Testing with container CLI opened. Verify by starting a flow and checking the flow status with the flow ID
  • Compare result with the automatic testing code
  • Recreate result with the corda demo repository and compare similarities and differences in coding in cactus repository
  • Run postman to check connection with in corda v5

After the postman testing, we tried disabling the SSL certification verification there and the output was the expected successful start flow. Without it being disabled, the output is "certificate has expired" error. Currently trying to learn how to disable it in the repository in the axios part of the coding for corda v5 and will test it again once it is successful.

No worries @ruzell22. Thankyou for the update!

@johnhomantaring
Copy link
Contributor

Hello @petermetz and @jagpreetsinghsasan can you assign this to me? We just have some ticket reassignment on our end and I will continue what we have done on this issue.

@jagpreetsinghsasan
Copy link
Contributor

Hi @johnhomantaring, any updates on this? (Corda 5 support seems to be the current highest priority task in Cacti)

@jagpreetsinghsasan
Copy link
Contributor

Hi @johnhomantaring Corda has now released the general available Corda v5.0
I have already created the AIO for the newest release (just need to add some healthcheck etc.) and will share the same here for usage for the connector soon. Please let me know on how can I contribute further towards its completion so that we can have this connector PR soon (very high priority task).

@jagpreetsinghsasan
Copy link
Contributor

Hi @johnhomantaring Corda has now released the general available Corda v5.0 I have already created the AIO for the newest release (just need to add some healthcheck etc.) and will share the same here for usage for the connector soon. Please let me know on how can I contribute further towards its completion so that we can have this connector PR soon (very high priority task).

Here's the AIO for the latest Corda v5.0: jagpreetsinghsasan@72ef235

@johnhomantaring
Copy link
Contributor

Hi @johnhomantaring Corda has now released the general available Corda v5.0 I have already created the AIO for the newest release (just need to add some healthcheck etc.) and will share the same here for usage for the connector soon. Please let me know on how can I contribute further towards its completion so that we can have this connector PR soon (very high priority task).

Here's the AIO for the latest Corda v5.0: jagpreetsinghsasan@72ef235

Thanks for this @jagpreetsinghsasan we also tried to move to Corda v5 because of the latest release but got some issues on postgres this will be a great help on the continuation of testing.

@jagpreetsinghsasan
Copy link
Contributor

Hi @johnhomantaring Corda has now released the general available Corda v5.0 I have already created the AIO for the newest release (just need to add some healthcheck etc.) and will share the same here for usage for the connector soon. Please let me know on how can I contribute further towards its completion so that we can have this connector PR soon (very high priority task).

Here's the AIO for the latest Corda v5.0: jagpreetsinghsasan@72ef235

Thanks for this @jagpreetsinghsasan we also tried to move to Corda v5 because of the latest release but got some issues on postgres this will be a great help on the continuation of testing.

Even I faced that problem, couldn't solve with any of the prominent dind images out there. So for the time being, I used the host network for the containers to spin up (have added that in the readme). But that's what I will look into, maybe we can tweak the test-network configurations from the CDSE repo before actually spinning up the postgres.

@johnhomantaring
Copy link
Contributor

Hi @johnhomantaring Corda has now released the general available Corda v5.0 I have already created the AIO for the newest release (just need to add some healthcheck etc.) and will share the same here for usage for the connector soon. Please let me know on how can I contribute further towards its completion so that we can have this connector PR soon (very high priority task).

Here's the AIO for the latest Corda v5.0: jagpreetsinghsasan@72ef235

Thanks for this @jagpreetsinghsasan we also tried to move to Corda v5 because of the latest release but got some issues on postgres this will be a great help on the continuation of testing.

Even I faced that problem, couldn't solve with any of the prominent dind images out there. So for the time being, I used the host network for the containers to spin up (have added that in the readme). But that's what I will look into, maybe we can tweak the test-network configurations from the CDSE repo before actually spinning up the postgres.

As of now I am still experiencing issue with the latest AIO using Mac (Intel), it seems that port 8888 is not accessible. On the other hand testing it with the team using Windows works perfectly. Checking if there are some changes we could work on to run it also on Mac.

@jagpreetsinghsasan
Copy link
Contributor

@johnhomantaring is the development happening on a public repo? If yes, I can also have a look into it.

johnhomantaring added a commit to johnhomantaring/cactus that referenced this issue Aug 2, 2023
1. Update of Corda Cli from 'Corda V5.0.0.0-devpreview-1.0' to 'Corda V5.0.0.0'

2. Update the test samples from 'corda5-solarsystem-contracts-demo' to 'CSDE-cordapp-template-kotlin'

Fixes hyperledger-cacti#1480

Co-authored-by: jagpreetsinghsasan [email protected]
Signed-off-by: john.h.o.mantaring <[email protected]>
@johnhomantaring
Copy link
Contributor

This is also using your latest changes with R3Corda V5. Already fixed the issue it seems that the firewall for ports on Mac is hindering the exposed ports 8888. I was able to fix the issue by bypassing the firewall docker/for-mac#2670. Not sure if it's because of the limitation of the corporate laptop firewall rules or a Mac firewall issue but changing the proxyport resolves the issue.

Also tried using docker:20.10.3-dind and was able to successfully initiate the R3 Corda V5 AIO proceeding with the changes on PluginLedgerConnectorCorda.

johnhomantaring added a commit to johnhomantaring/cactus that referenced this issue Aug 9, 2023
1. Update of Corda Cli from 'Corda V5.0.0.0-devpreview-1.0' to 'Corda V5.0.0.0'

2. Update the test samples from 'corda5-solarsystem-contracts-demo' to 'CSDE-cordapp-template-kotlin'

Fixes hyperledger-cacti#1480

Co-authored-by: jagpreetsinghsasan [email protected]
Signed-off-by: john.h.o.mantaring <[email protected]>
@petermetz petermetz added this to the v2.0.0-rc.1 milestone Aug 25, 2023
@aldousalvarez
Copy link
Contributor

Hello @jagpreetsinghsasan I am helping on the testing of this issue.

johnhomantaring added a commit to johnhomantaring/cactus that referenced this issue Oct 17, 2023
1. Update of Corda Cli from 'Corda V5.0.0.0-devpreview-1.0' to 'Corda V5.0.0.0'

2. Update the test samples from 'corda5-solarsystem-contracts-demo' to 'CSDE-cordapp-template-kotlin'

Fixes hyperledger-cacti#1480

Co-authored-by: jagpreetsinghsasan [email protected]
Signed-off-by: john.h.o.mantaring <[email protected]>
adrianbatuto added a commit to johnhomantaring/cactus that referenced this issue Oct 20, 2023
adrianbatuto pushed a commit to johnhomantaring/cactus that referenced this issue Oct 20, 2023
adrianbatuto pushed a commit to johnhomantaring/cactus that referenced this issue Oct 20, 2023
@adrianbatuto adrianbatuto moved this from In Progress to In review in Cacti_Scrum_Project_v2_Release Oct 20, 2023
@adrianbatuto
Copy link
Contributor

The ticket is currently blocked by the issue
corda/CSDE-cordapp-template-kotlin#120
corda/corda-runtime-os#5284

@adrianbatuto adrianbatuto moved this from In review to Blocked in Cacti_Scrum_Project_v2_Release Dec 21, 2023
@jagpreetsinghsasan jagpreetsinghsasan moved this from Blocked to In Progress in Cacti_Scrum_Project_v2_Release Jan 3, 2024
adrianbatuto pushed a commit to johnhomantaring/cactus that referenced this issue Jan 15, 2024
@jagpreetsinghsasan
Copy link
Contributor

Closing the issue as 5.0 assets are dropped in favour for 5.1 (and tracking it from scratch is easier than to push more time spent in this same long ongoing task)
The followup task: feat(corda): support 5.1 via TS/HTTP (no JVM)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Corda enhancement New feature or request P1 Priority 1: Highest
Projects
None yet
8 participants