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(corda): add Corda ledger support #608

Merged

Commits on Mar 4, 2021

  1. feat(corda): add Corda ledger support

    Primary Changes
    ===============
    
    1. Corda all-in-one image
    
    Note: In this state of it it runs the full
    sample with all the nodes and web servers
    which ends up using 11GB of RAM so we will
    have to thin this down eventually once the
    Corda connector is otherwise passing the tests
    with this container. Once we are at that
    point we can start removing parts of the
    AIO container to reduce RAM usage and verify
    that the tests are still passing without
    issues or not.
    
    2. Corda ledger connector server as a JVM app
    (uses the "kotlin-spring" generator template from OpenAPI)
    The only file that is non-generated in that folder is the
    service implementation called ApiPluginLedgerConnectorCordaServiceImpl.kt
    
    TODO: make sure the generated folder can be cleaned and regenerated
    without having to manually re-add the implementation file mentioned
    above.
    
    3. The Typescript interfaces necessary for the NodeJS API server to
    be able to communicate with the JVM app in a transparent manner where
    higher level plugins can talk to Corda through the connector in Typescript
    without realizing that they are actually sending HTTP requests over the
    network to the JVM app.
    
    4. Home-grown, JSON-embedded DSL is used to define the flow params.
    
    5. Lots of to-dos still, but there are end to end tests passing
    and everything is working with containers.
    
    6. Jar deployment is only partially supported for now: if the jar
    is already present on the node, then calling the jar deploy endpoint
    on the connector will make sure to add that jar to the classpath of
    the connector as well. If however the jar is not deployed on the corda
    node itself then it will no work just yet because the SSH connection
    is not yet implemented in the corda connector.
    
    Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com>
    petermetz committed Mar 4, 2021
    Configuration menu
    Copy the full SHA
    c8dc500 View commit details
    Browse the repository at this point in the history