Skip to content

What is the position of rum library? #1

@HinsonSIDAN

Description

@HinsonSIDAN

The motivation of this library from existing was assisting DeltaDeFi backend, with:

  • provider supports - easier to interact with cardano providers such as maestro & blockfrost
  • utilities supports - make common tedious yet standard operation easy, such as cardano value manupilation
  • type system - make porting one type between TS <> Rust <> Go easy, with same family of type systems (e.g. mesh UTxO type can convert to rum type, and whisky type, without excessing parsing needed)

Going forward, for this rum library having a meaning to exist, we need to figure out

  • how is the existing landscape of Golang libraries in Cardano? rather than building out rum, would it be better just join maintenance of other libraries such as apollo?
  • any specific limitations of other libraries such that its better to standalone having some logics implemented in rum instead?
  • if we go low level, e.g. tx-builder, how low level should we go? what tech stack should we go? pure golang serialization logics? or based on existing family libraries' logic such as exporting whisky logic from Rust with wasm or c++ binding?

To figure it out, let's start with some community efforts

  • @Newt6611 - check out existing golang landscape
  • @twwu123 - check out way of binding rust to golang

Potential area of golang landscape research

  • What are the existing golang libraries in Cardano?
    https://github.com/Salvionied/apollo
  • Who are the maintainers? Are them actively maintaining and welcome new contributors?
  • What are each libraries supporting?, e.g. some key areas
    • tx-building
    • serialization utils (e.g. json to cbor, cbor to json)
    • value operation (addition, subtraction etc)
    • providers
    • hydra
    • uplc (apply param, tx evaluation)
      https://github.com/blinklabs-io/plutigo

Potential area of binding research

  • Apart from FFI via extern "C" + cgo approach, other sense-making binding approaches to consider?
    Probably the best one
  • Any multi-platform overhead similar to whisky to gin?
  • Any developer-experience draw back such as special configuration needed?

Bi-weekly open collaborator call

There is bi-weekly call for existing collaborator to sync with progress, also welcome any new collaborators to sit in and provide perspective:

Monday, June 16 · 11:30am – 12:00pm
Time zone: Asia/Hong_Kong
Google Meet joining info
Video call link: https://meet.google.com/aii-qobr-xca
Or dial: ‪(HK) +852 3002 2301‬ PIN: ‪114 372 086 8760‬#
More phone numbers: https://tel.meet/aii-qobr-xca?pin=1143720868760

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

Status

In progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions