utxorpc: Generated code for a gRPC interface for UTxO Blockchains

[ apache, blockchain, cardano, grpc, library, network ] [ Propose Tags ] [ Report a vulnerability ]

UTxO RPC (u5c for short) is an interface tailored for interactions with UTxO-based blockchains, prioritizing performance and developer experience. By providing a common contract, a range of SDKs, and thorough documentation, UTxO RPC aims to facilitate:

  • Reusability: Enabling shared components that can be reused across different projects to simplify the integration effort.

  • Interoperability: A common interface to simplify integrations between different parties and avoid the common pitfall of vendor lock-in.

  • Performance: A serialized binary format which is compact and efficient, resulting in smaller message sizes and reduced network overhead compared to its JSON counterpart

Please note that this package only contains the generated Haskell code from the u5c specification. To write a u5c implementation, please see the client or server SDK.

For documentation on the specification, see https://utxorpc.org.


[Skip to Readme]

Downloads

Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Versions [RSS] 0.0.3.0, 0.0.4.0, 0.0.4.1, 0.0.4.2, 0.0.4.3, 0.0.4.4, 0.0.5.0, 0.0.5.1, 0.0.6.0, 0.0.7.0, 0.0.9.0, 0.0.10.0, 0.0.11.0, 0.0.12.0, 0.0.13.0, 0.0.14.0, 0.0.15.0, 0.0.16.0
Dependencies base (>=4.7 && <5), proto-lens (>=0.7.1 && <0.8), proto-lens-protobuf-types (>=0.7.2 && <0.8), proto-lens-runtime (>=0.7.0 && <0.8) [details]
License Apache-2.0
Author TxPipe <registrant@txpipe.io>
Maintainer TxPipe <registrant@txpipe.io> Dominic Mayhew <dominic.j.mayhew@gmail.com>
Revised Revision 4 made by dMayhew at 2024-06-11T18:27:58Z
Category Network, GRPC, Blockchain, Cardano
Home page https://github.com/utxorpc/spec#readme
Bug tracker https://github.com/utxorpc/spec/issues
Uploaded by txpipe at 2024-04-26T19:21:31Z
Distributions NixOS:0.0.14.0
Reverse Dependencies 2 direct, 0 indirect [details]
Downloads 605 total (1 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user [build log]
All reported builds failed as of 2024-04-26 [all 2 reports]

Readme for utxorpc-0.0.5.1

[back to package description]

UTxO RPC

This package is generated by proto-lens-protoc from the u5c specification and contains Data.ProtoLens.Message.Message instances useful for serde. It is designed to be used with the client or server SDK. Build a message with the lens library by importing the relevant utxorpc modules and calling Data.ProtoLens.Message.defMessage:

import Control.Lens.Operators ((&), (.~))
import Data.ProtoLens.Message (Message (defMessage))
import qualified Data.Text.Encoding as T
import Proto.Utxorpc.V1.Sync.Sync (FetchBlockRequest)
import Proto.Utxorpc.V1.Sync.Sync_Fields (hash, index)

fetchBlockRequest :: FetchBlockRequest
fetchBlockRequest =
defMessage
    & ref .~
    [ defMessage 
        & index .~ 116541970
        & hash .~ T.encodeUtf8 "9d5abce5b1a7d94b141a597fd621a1ff9dcd46579ff1939664364311cd1be338"
    ]

The easieset way to send requests or run a service is through the SDKs: utxorpc-client and utxorpc-server.

Generating this package from the spec

Please see the u5c project README for information on how this package was generated. To generate this code yourself, please see proto-lens.

NOTE: proto-lens-protobuf-types version >= 0.7.2 is required to build this package, as it includes support of the FieldMask well-known type.

Maintainers

See the UTxO spec repo README.

[!NOTE] proto-lens-protobuf-types version >= 0.7.2 is required to build this package as it contains support for the FieldMask well-known type.