open-index/open-npm huggingface dataset:
npm package: @harmoniclabs/ouroboros-miniprotocols-ts
Description: ## What is this? Where am I?
Author: Harmonic Laboratories
Latest version: 0.0.5-dev7

# @harmoniclabs/ouroboros-miniprotocols-ts

## What is this? Where am I?

In this repository you'll find a typescript implementation of the [ouroboros networking protocol](https://ouroboros-network.cardano.intersectmbo.org/pdfs/network-spec/network-spec.pdf).

To be precise here you find:
- the data-types with respective CBOR encoding/decoding functions (`toCbor` methods and `fromCbor` static methods)
- all needed for the multiplexer (the `Multiplexer` class and the more low level `wrapMultiplexerMessage` and `unwrapMultiplexerMessage`)
- some protocol-specific enums (`MiniProtcol` and handshake versions).

## Why isn't it called `ouroboros-network-ts`?

The ouroboros network component should also take care of connections with peers.

This package doesn't do that.

The reason is very simple: we might want differnt connections types depending on what is establishing the connection.

example; a cardano node typescript implementation would be designed to operate only in a server environment; in that case a TCP socket would be used to connect to other peers, or a UNIX socket for node-to-client protocols (things like `cardano-cli` or `cardano-db-sync`);

however, a light node implementation, meant to be able to run in browsers, wouldn't be able to have succ connecitons;
the best a browser can offer are `WebSockets`¹ which are a different type of connection; but the data sent and received is the same.


¹<small>currently not supported by the haskell implementaiton of the `cardano-node` but still possible in other implementaitons</small>
npm package: @harmoniclabs/plu-ts
Description: An embedded DSL for Cardano smart contracts creation coupled with a library for Cardano transactions, all in Typescript
Author: Michele Nuzzi
Latest version: 0.9.0

<p align="center">
  <img width="100px" src="./assets/logo/plu-ts.svg" align="center"/>
  <h1 align="center">plu-ts</h1>
  <p align="center">An embedded DSL for Cardano smart contracts creation coupled with a library for Cardano transactions, all in Typescript</p>

  <p align="center">
    <img src="https://img.shields.io/github/commit-activity/m/harmonicpool/plu-ts?style=for-the-badge" />
    <a href="https://twitter.com/hlabs_tech">
      <img src="https://img.shields.io/twitter/follow/hlabs_tech?style=for-the-badge&logo=twitter" />
    </a>
    <a href="https://twitter.com/MicheleHarmonic">
      <img src="https://img.shields.io/twitter/follow/MicheleHarmonic?style=for-the-badge&logo=twitter" />
    </a>
  </p>
</p>

## what is plu-ts?

`plu-ts` is a library to allow Cardano-related software to be written entirely in [typescript](https://www.typescriptlang.org/), in support for a wider developer ecosystem adoption and easier integration.

the project is be composed mainly of two parts: on-chain and off-chain;

the on-chain exports all the necessary for you to build your smart contract as an eDSL (_embedded_ Domain Specific Language)
the off-chain one allows you to build transactions 

## Install

You can start playing with `plu-ts` by running the following command in your project root directory
```
npm install @harmoniclabs/plu-ts
```
or, equivalently, you can install directly form this repository
```
npm install https://github.com/HarmonicLabs/plu-ts
```

## Get started

Have a look at the [`plu-ts` documentation](https://pluts.harmoniclabs.tech) where you can find some [example projects](https://pluts.harmoniclabs.tech/docs/examples/Hello%20World) to help you get started.

## Sponsors ❤️

the [sponsors.md](./sponsors.md) file contains a list of supportes of this project.

Everyone of them is special and is contribuitng in making this software aviable for everyone.

Consider having a look at the [documentation](https://www.harmoniclabs.tech/plu-ts-docs/index.html) even if it is currently being written; feel free to contribute to the [`plu-ts-docs` repository](https://github.com/HarmonicLabs/plu-ts-docs)

## Project Catalyst

a collection of all proposals made in the past is in the [```catalyst-proposals.md```](./catalyst-proposals.md) file
npm package: @harmoniclabs/plutus-data
Description: Typescript definition of the generic `Data` type for plutus applicaitons
Author: Harmonic Laboratories
Latest version: 2.0.1

# @harmoniclabs/plutus-data

Typescript definition of the generic `Data` type for plutus applicaitons

```ts
type Data 
    = DataConstr
    | DataMap<Data, Data>
    | DataList
    | DataI
    | DataB;
```

## install

```bash
npm install @harmoniclabs/plutus-data
```

## exported functions

```ts
function hashData(data: Data): Uint8Array;
function dataToCborObj(data: Data): CborObj;
function dataToCbor(data: Data): CborString;
function dataFromCborObj(cborObj: CborObj): Data;
function dataFromCbor(cbor: CanBeCborString): Data;
```