Giter Club home page Giter Club logo

daml-on-bifrost's People

Contributors

tuxman avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

daml-on-bifrost's Issues

Validator for Bifrost transactions

h3. Summary

Sending and receiving transactions to a Bifrost node requires checks to make sure the output matches the Daml transaction and to properly

h3. Acceptance criteria

┆Issue is synchronized with this Jira Task by Unito

Docker image generation for ledger-on-bifrost application

Summary

Automated integration testing and deployment would benefit from having Docker images automatically generated from the CI for every PR and release. A Github Actions workflow should be added to the project to push a new Docker image to Docker Hub and the Github Container Registry.

Acceptance criteria

  • A new snapshot is pushed for every successful merge into dev
  • A new release is pushed for every tag

┆Issue is synchronized with this Jira Task by Unito

Topl Module and Library

Summary

The path to minting and transferring assets on-chain use an implementation of a specific AssetTransfer function under a defined Topl module. This DAML smart contract module should be placed into a public repository

Acceptance criteria

┆Issue is synchronized with this Jira Task by Unito

Schema validation for MongoDB

h3. Summary

The participant node standard routes use a common set of queries to store log and metadata information. The implementation of these queries differs slightly between database implementations. To match the in-memory and PostgreSQL implementations, MongoDB needs to recreate all common queries provided in the DAML SDK and be tested to make sure all queries execute correctly.

h3. Acceptance criteria

  • Define the set of queries needed to run against a MongoDB database
  • Create a mock MongoDB database for testing
  • Unit tests for all queries

┆Issue is synchronized with this Jira Task by Unito

NuCarbit demo

Statement of Problem

Having a visual representation of the different interactions between Bifrost, daml-on-bifrost, and Daml smart contracts would be useful for internal and external contributors. An example with “NuCarbit”, a fake company producing and tokenizing carbon credits, can go into enough depth to realistically show how a real company or developer might use Daml smart contracts to control minting and transferring assets. The example can also show some of the privacy aspects of how state in a Daml smart contract is displayed to different users of the smart contract.

Acceptance Criteria

┆Issue is synchronized with this Jira Task by Unito

MongoDB database integration

h3. Summary

Currently Daml supports PostgreSQL, SQLite, and H2. Having the daml-on-bifrost implementation use MongoDB would be helpful for integrating event-sourcing and testing with other Topl services and tools. MongoDB should be implemented to be fully compliant with the events and calls being made to any SQL server, and should fully replicate the behavior of the H2 in-memory database or a PostgreSQL server.

h3. Acceptance criteria

  • A MongoDB reference implementation to store contracts as documents
  • Implement the API fully to support contract creation and update calls from the Ledger API

┆Issue is synchronized with this Jira Task by Unito

Github Actions automated testing

Summary

As unit tests are being written, an automated CI/CD pipeline should be set up to run the unit tests and force checks on pull requests.

Acceptance criteria

  • A simple Github Actions workflow is created to run all unit tests
  • The workflow runs on all pull requests made to the dev and main branches

┆Issue is synchronized with this Jira Task by Unito

Docker Compose to run Driver connected to Bifrost Node

h3. Summary

Running a Daml participant node/driver requires a connection to a ledger, either a sandbox or full blockchain. To help with testing and application version management.

h3. Acceptance criteria

  • A Docker compose file to start a participant node and a Bifrost node, and check for a successful connection from the participant node to the Bifrost node using an API call

┆Issue is synchronized with this Jira Task by Unito

Reconcile sandbox transaction validator with MongoDB implementation

h3. Statement of Problem

For testing and running in a local sandbox environment, a separate set of validators should be created to replicate the updates from Bifrost transactions that are either sent or mocked responses from a Bifrost node.

h3. Acceptance Criteria

  • A validator that can accept mock transaction responses
  • Unit test for sending mock transactions to the validator and checking the result is a valid update

┆Issue is synchronized with this Jira Task by Unito

Ledger API Tool Integration Test

  1. Summary
    Daml provides a Ledger API Test Tool that has a suite of contracts to test against a live ledger. Incorporating this into a CI/CD pipeline will help to continually test the Bifrost driver against the Ledger API and make it easier to incorporate integration testing.
  2. Acceptance criteria
  • A Github Actions workflow that downloads and uses the Ledger API Test Tool to run against the driver and Bifrost node

┆Issue is synchronized with this Jira Task by Unito

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.