open-index/open-npm huggingface dataset:
npm package: @ravendevkit/ravencore-lib
Description: A pure and powerful JavaScript Ravencoin library.
Author: Under
Latest version: 1.0.6

Ravencore Library
=======

A pure and powerful JavaScript Ravencoin library.

## Principles

Ravencoin is a powerful new peer-to-peer platform for the next generation of financial technology. The decentralized nature of the Ravencoin network allows for highly resilient Ravencoin infrastructure, and the developer community needs reliable, open-source tools to implement Ravencoin apps and services.

## Get Started

```
npm install ravencore-lib
```

```
bower install ravencore-lib
```

## Examples

* [Generate a random address](https://github.com/RavenDevKit/ravencore-lib/blob/master/docs/examples.md#generate-a-random-address)
* [Generate a address from a SHA256 hash](https://github.com/RavenDevKit/ravencore-lib/blob/master/docs/examples.md#generate-a-address-from-a-sha256-hash)
* [Import an address via WIF](https://github.com/RavenDevKit/ravencore-lib/blob/master/docs/examples.md#import-an-address-via-wif)
* [Create a Transaction](https://github.com/RavenDevKit/ravencore-lib/blob/master/docs/examples.md#create-a-transaction)
* [Sign a Ravencoin message](https://github.com/RavenDevKit/ravencore-lib/blob/master/docs/examples.md#sign-a-ravencoin-message)
* [Verify a Ravencoin message](https://github.com/RavenDevKit/ravencore-lib/blob/master/docs/examples.md#verify-a-ravencoin-message)
* [Create an OP RETURN transaction](https://github.com/RavenDevKit/ravencore-lib/blob/master/docs/examples.md#create-an-op-return-transaction)
* [Create a 2-of-3 multisig P2SH address](https://github.com/RavenDevKit/ravencore-lib/blob/master/docs/examples.md#create-a-2-of-3-multisig-p2sh-address)
* [Spend from a 2-of-2 multisig P2SH address](https://github.com/RavenDevKit/ravencore-lib/blob/master/docs/examples.md#spend-from-a-2-of-2-multisig-p2sh-address)


## Security

We're using ravencore in production, but please use common sense when doing anything related to finances! We take no responsibility for your implementation decisions.

## Contributing

Please send pull requests for bug fixes, code optimization, and ideas for improvement. For more information on how to contribute, please refer to our [CONTRIBUTING](https://github.com/RavenDevKit/ravencore-lib/blob/master/CONTRIBUTING.md) file.

## Building the Browser Bundle

To build a ravencore-lib full bundle for the browser:

```sh
gulp browser
```

This will generate files named `ravencore-lib.js` and `ravencore-lib.min.js`.

## Development & Tests

```sh
git clone https://github.com/RavenDevKit/ravencore-lib
cd ravencore-lib
npm install
```

Run all the tests:

```sh
gulp test
```

You can also run just the Node.js tests with `gulp test:node`, just the browser tests with `gulp test:browser`
or create a test coverage report (you can open `coverage/lcov-report/index.html` to visualize it) with `gulp coverage`.

## License

Code released under [the MIT license](https://github.com/RavenDevKit/ravencore-lib/blob/master/LICENSE).
npm package: @ravendevs/react-middleware
Description: React middleware
Author: VisionWorks
Latest version: 2.0.2

# @ravendevs/react-middleware

React middleware.

## Publish a new release

- nvm ls, nvm use <node_version>
- npm login (one time)
- npm run compile
- npm run build
- npm run commit
- npm run release:[first|major|minor|patch]
- npm run release:publish

## Symlink the package

### Create / remove a npm link

- npm link
- npm unlink

### Install / uninstall the symlinked package in a project

- npm link @ravendevs/react-middleware
- npm unlink --no-save @ravendevs/react-middleware
npm package: @ravendyne/ang-el
Description: Enable Angular 9.x application to run on Electron 11.x
Author: dev@ravendyne.com
Latest version: 0.1.1

## Add Electron 11.x to your Angular 9.x UI


This is an Angular schematic that enables you to `ng add` all the bits and pieces to an Angular 9 project in order to run it as a UI part of an Electron 11.x app.

This schematic (for now) works only with:
- Angular 9.x
- Node 12.x
- Electron 11.x

For a detailed walk-through on how, where and why when it comes to the Electron app source, scripts and other stuff used in this schematic, see article at [https://ravendyne.com/angular/angular-electron-app]().


## How to use

Create Angular-and-Electron app from scratch:

```bash
$ ng new you-angular-app-name --no-routing
$ cd you-angular-app-name
$ npm install --save-dev @ravendyne/ang-el
$ ng add @ravendyne/ang-el

$ npm run build
$ npm run electron
```

If you have Angular workspace with multiple projects, running `ng add` as is above will select the first project in the workspace by default. If you want to add Electron to a specific project within your workspace, run instead:
```bash
$ ng add @ravendyne/ang-el --project=your-project-name
```

To package you application for the OS you are running this command on, run:
```bash
$ npm run build:package
```

Once packaging is done, your binary application with all the supporting files will be in the `build/you-angular-app-name-[whatever-the-OS]` folder, i.e. on 64-bit Linux it will be in `build/you-angular-app-name-linux-x64`.

Running `npm run build:package` on Linux will produce Linux binary, running it on Windows will produce Windows exe, and on MacOs will produce MacOS app.


## Options

Schematic will add a simple "Bridge API" (see [here](https://ravendyne.com/angular/angular-electron-app#communication-between-angular-ui-and-electron-backend) for more details) and it will set up [`electron-packager`](https://electron.github.io/electron-packager/main/) as a tool to build a binary distribution package of your app.

If you don't want the "Bridge API" added to your project, use `--no-bridge-api` CLI option. If you don't want `electron-packager` added and set up, use `--no-packager` CLI option, i.e.:
```bash
$ ng add @ravendyne/ang-el --no-bridge-api --no-packager
```

## Add application icons on Linux, Windows or MacOS

For details on how to set an icon for your packaged application that will be recognized and used by host OS, see details at [https://ravendyne.com/angular/angular-electron-app#app-icon-in-macos-and-windows]().
npm package: @ravenite/ravencoin-mnemonic
Description: ![Ravenite Mnemonic Banner](https://github.com/Ravenites/ravencoin-mnemonic/raw/main/media/repo-banner.png)
Author: Ravenite
Latest version: 1.5.0

![Ravenite Mnemonic Banner](https://github.com/Ravenites/ravencoin-mnemonic/raw/main/media/repo-banner.png)

# Ravenite - Ravencoin Mnemonic

[![NPM Package](https://img.shields.io/npm/v/@ravenite/ravencoin-mnemonic.svg?style=flat-square)](https://www.npmjs.org/package/@ravenite/ravencoin-mnemonic)

**A Ravenite module for [ravencoin](https://github.com/RavenProject/Ravencoin) that implements Mnemonic code for generating deterministic keys.**

## Getting Started

```sh
# Using npm
npm install @ravenite/ravencoin-mnemonic

# Using yarn
yarn add @ravenite/ravencoin-mnemonic
```

## Usage

```javascript
import { Mnemonic } from '@ravenite/ravencoin-mnemonic';

const code = new Mnemonic({ network: 'mainnet' });

code.toString();
```

## Parameters

| Name       | Type   | Default Value | Description                                                                       |
| ---------- | ------ | ------------- | --------------------------------------------------------------------------------- |
| mnemonic   | string | undefined     | Seed phrase (e.g. job shop small, etc...)                                         |
| network    | string | testnet       | Blockchain network you are generating for                                         |
| passphrase | string | undefined     | String to strengthen encryption with the seed phrase                              |
| language   | string | english       | Language to generate seed phrase in                                               |
| account    | number | undefined     | If you would like to start the receive and change path from a number other than 0 |

## Examples

See [EXAMPLES.md](https://github.com/Ravenites/ravencoin-mnemonic/blob/main/EXAMPLES.md) for developer guides.

## Available Mnemonic Languages

- chinese_simplified
- chinese_traditional
- czech
- english
- french
- italian
- japanese
- korean
- portuguese
- spanish

## Contributing

See [CONTRIBUTING.md](../../CONTRIBUTING.md) at base of repo for information about how to contribute.

## License

Code released under [the MIT license](./LICENSE.md).
npm package: @ravenite/ravencoin-rpc
Description: ![Ravencoin RPC Banner](https://github.com/Ravenites/ravencoin-rpc/raw/main/media/repo-banner.png)
Author: Michael McShinsky
Latest version: 2.1.0

![Ravencoin RPC Banner](https://github.com/Ravenites/ravencoin-rpc/raw/main/media/repo-banner.png)

# Ravenite - Ravencoin RPC

<a href="https://ravenites.github.io/ravencoin-rpc/Client.html" target="_blank">Documentation Website</a>

A client library to connect to Ravencoin Core RPC in JavaScript.

[![NPM Package](https://img.shields.io/npm/v/@ravenite/ravencoin-rpc.svg?style=flat-square)](https://www.npmjs.org/package/@ravenite/ravencoin-rpc)

**A Ravenite module for [ravencoin](https://github.com/RavenProject/Ravencoin).**

## Getting Started

```sh
# Using npm
npm install @ravenite/ravencoin-rpc

# Using yarn
yarn add @ravenite/ravencoin-rpc
```

### Usage

You can either write manually requests to your RPC connection via the `request` method, or you can use the built-in methods provided by the client class.

#### Manually

```javascript
import { Client } from '@ravenite/ravencoin-rpc';

const client = new Client({
  url: 'http://127.0.0.1:9050',
  username: 'username',
  password: 'password',
});

client.request('getchaintips').then(response => {
  console.log('response', response);
});
```

#### Built-in Methods

```javascript
import { Client } from '@ravenite/ravencoin-rpc';

const client = new Client({
  url: 'http://127.0.0.1:9050',
  username: 'username',
  password: 'password',
});

client.methods.listAssets().then(assets => {
  console.log('assets', assets);
});
```

## Examples and Documentation

See [documentation](https://ravenites.github.io/ravencoin-rpc/Client.html) for developer guides.

## License

Code released under [the MIT license](./LICENSE.md).

### Development

Some RPC commands within Ravencore have known bugs. You may experience them as a result. If you find that the issue comes from this library, please create an Issue so that it can be resolved quickly.
npm package: @ravenrebels/ravencoin-history-list
Description: A human understandable list of in or outgoing transactions
Author: Raven Rebels / Dick Henrik Larsson
Latest version: 1.2.4

# ravencoin-history-list

A human understandable list of in or outgoing transactions

## What do we mean by human understandable?

Example.
Alice transfer one LEMONADE token to Bob.
Now Alice expects her history to show that she sent one LEMONADE token to Bob.

Technically, a transaction has been broadcasted on the network.
That transaction typically contains

- One or more unspent transaction outputs (UTXOs) to cover the miner fee, Alice needs to pay some RVN to send an asset.
- One or more UTXOs for the LEMONADE transfer, like input 20 LEMONADE, output one to BOB and 19 back to a change address.

## Install

`npm install @ravenrebels/ravencoin-history-list`

## How to use

As a developer, you have to ask a Ravencoin node for the address deltas (getaddressdelta).
The address deltas represents everything that has come in and out from your addresses.

`  import {getHistory } from "@ravenrebels/ravencoin-history-list";`

OK so you invoke the method getHistory with deltas as argument.
`const history = getHistory(deltas);`
`history` is a list.
Each item in the list represents a transaction in or out of the wallet (list of addresses).
An item in the history list has an `assets` property.
`assets`is a list with objects of type {assetName, value, satoshis}
For example

```
"assets": [
      { "assetName": "LEMONADE", "satoshis": 1000000000, "value": 10 }
    ]
```

### Example user received 5 RVN

```
 {
    "isSent": false,
    "fee": 0,
    "assets": [{ "assetName": "RVN", "satoshis": 500000000, "value": 5 }],
    "blockHeight": 914584,
    "transactionId": "4729236e883325878665a3d5bb989de3a65341f3c6d7a43b4ce58522773f2548"
  }
```

### Example user sent 1 LEMONADE token

```
 {
  "assets": [
    { "assetName": "LEMONADE", "satoshis": -100000000, "value": -1 }
  ],
  "blockHeight": 914603,
  "transactionId": "1c776b263ad75d46f25d19b5330882fad020a46e220799877b982ff2c259a3be",
  "isSent": true,
  "fee": 0
}
```

Unfortunately, it looks like the user intentionally sent 0.01 RVN, that is not true, that was the transaction fee.
This will be fixed in a later version

## Example how to use

Checkout example.js

```
const { getHistory } = require("../ravencoin-history-list"); //Replace with  @ravenrebels/ravencoin-history-list
const aliceDeltas = require("./example/alice_deltas_after_sending.json");

const history = getHistory(aliceDeltas);
const stuff = [];
for (let item of history) {
  item.assets.map((asset) => {
    asset.transactionId = item.transactionId.substring(0, 10) + "..";
    stuff.push(asset);
  });
}
console.table(stuff);

```

![image](https://user-images.githubusercontent.com/9694984/215324239-95632d7f-447b-424d-8cbf-c16cf2533b49.png)
npm package: @ravenrebels/ravencoin-reader
Description: Read information from Ravencoin blockchain
Author: Raven Rebels - Dick Henrik Larsson
Latest version: 0.0.7

# ravencoin-reader
![image](https://user-images.githubusercontent.com/9694984/214588738-2d4f4522-44ec-44dd-9962-3bd4534bab4d.png)

Read information from Ravencoin blockchain



## Install and use

Create an empty JavaScript project
```
mkdir reader
cd reader
npm init -y
npm install @ravenrebels/ravencoin-reader
```

Now create a file called `index.mjs` the extension .mjs tells Node.js to support ECMA Module (ECMAScript Module).

Add content to index.mjs
```
import Reader from "@ravenrebels/ravencoin-reader";

Reader.getAsset("FREN#RED").then(console.table);
```


Now run your script
```
node index.mjs
```

Expected output

![image](https://user-images.githubusercontent.com/9694984/214542343-c842ca90-e0bd-4d25-9983-34d3fbf57ace.png)

# API (more are added every day)
For the truth, check type definitions [Type Definitions](./dist/types.d.ts)
```
declare function getAddressesByAsset(assetName: string, onlytotal?: boolean, count?: boolean, start?: boolean): Promise<any>;
declare function getAddressDeltas(address: string | string[]): Promise<any[]>;
declare function getAddressMempool(address: string | string[]): Promise<any>;
declare function getAllAssets(prefix?: string, includeAllMetaData?: boolean): Promise<any>;
declare function getAssetBalance(address: string | string[]): Promise<any>;
declare function getAsset(name: string): Promise<any>;
declare function getBestBlockHash(): Promise<string>;
declare function getBlockByHash(hash: string): Promise<any>;
declare function getBlockByHeight(height: number): Promise<any>;
declare function getMempool(): Promise<any>;
declare function getRavencoinBalance(address: string | string[]): {};
declare function getTransaction(id: string): Promise<any>;
declare function verifyMessage(address: string, signature: string, message: string): Promise<boolean>;

declare function setURL(newURL: string): void;
declare function setUsername(newUsername: string): void;
declare function setPassword(newPassword: string): void;

```
npm package: @ravenrebels/ravencoin-sign-transaction
Description: Signs a Ravencoin transaction
Author: Raven Rebels - Dick Henrik Larsson
Latest version: 1.1.4

# Ravencoin & Evrmore Sign Transaction

![npm version](https://img.shields.io/npm/v/@ravenrebels/ravencoin-sign-transaction)
![license](https://img.shields.io/npm/l/@ravenrebels/ravencoin-sign-transaction)

Signs Ravencoin (RVN) and Evrmore (EVR) transactions in pure JavaScript.

## Features
- Support for **Ravencoin** and **Evrmore** (both Mainnet and Testnet).
- Support for **Asset transfers**.
- Pure JavaScript/TypeScript (works in Node.js and browser).
- Lightweight and focused.

## Installation

```bash
npm install @ravenrebels/ravencoin-sign-transaction
```

## How to use

The `sign` method has four arguments:
1. **network**: `rvn` | `rvn-test` | `evr` | `evr-test`
2. **rawTransactionHex**: The raw unsigned transaction (in hex).
3. **UTXOs**: An array of UTXO objects to use.
4. **privateKeys**: An object with `address` as key and `WIF` as value.

Returns a signed transaction (hex). After that, it is up to you to publish it on the network.

### Example

```javascript
import Signer from "@ravenrebels/ravencoin-sign-transaction";

const raw =
  "0200000002fe6cfe20184b592849231eea8167e3de073b6ec1b8218c2ef36838a4e07dd11c0200000000ffffffff28c32b825b14251708ea39c0ac706bd3d933778d7838d01b678b045a48e219950000000000ffffffff0200000000000000003a76a91416014dfb02a07417cbf8c0366ee5ae0a29d5878f88acc01e72766e74114652454e2f59554c45544944453230323100e1f5050000000075000e2707000000001976a914c6a0e8557c7567a4d9cc84574c34fbb62ece3c9688ac00000000";

const UTXOs = [
  {
    address: "RTPSdYw3iB93L6Hb9xWd1ixVxPYu1QePdi",
    assetName: "RVN",
    txid: "1cd17de0a43868f32e8c21b8c16e3b07dee36781ea1e234928594b1820fe6cfe",
    outputIndex: 2,
    script: "76a914c6a0e8557c7567a4d9cc84574c34fbb62ece3c9688ac",
    satoshis: 122000000,
  },
  {
    address: "RSuQSgXXr1z4gKommSqhHLffiNxnSE3Bwn",
    assetName: "FREN/YULETIDE2021",
    txid: "9519e2485a048b671bd038788d7733d9d36b70acc039ea081725145b822bc328",
    outputIndex: 0,
    script:
      "76a914c1536f46fa2fa04be210406529be283c1c85e4ce88acc01e72766e74114652454e2f59554c45544944453230323100e1f5050000000075",
    satoshis: 100000000,
  },
];

const privateKeys = {
  RTPSdYw3iB93L6Hb9xWd1ixVxPYu1QePdi:
    "L2GD7txjmdKSTy7mBq2FowZusjdWP679ttWSRfj4eLBu2usTWMV9",
  RSuQSgXXr1z4gKommSqhHLffiNxnSE3Bwn:
    "Kxj2xMvLbcXeGzuSrZLtpnZWzXnTXnhtuCQRQhKLjN7bSQXuakyh",
};

const signed = Signer.sign("rvn", raw, UTXOs, privateKeys);
console.log(signed);
```
npm package: @ravens-engine/core
Description: A Javascript library for building multiplayer turn-based games
Latest version: 0.20.0

# Ravens ![npm (scoped)](https://img.shields.io/npm/v/@ravens-engine/core) ![NPM](https://img.shields.io/npm/l/@ravens-engine/core)

A Javascript library for building multiplayer turn-based games

## Documentation

You can find the Ravens documentation on [ravens.dev](https://ravens.dev).

## Development

Clone the repo, then `yarn install`.

Run `yarn run develop` to continuously build the library. To test your modifications, use either `yarn test` to run the Jest tests, or use [`yarn link`](https://classic.yarnpkg.com/en/docs/cli/link/) to use the library in an other project.

## Contributing

Ravens is open-source, but closed to contributions. At the moment, while the project is working and can be used, I'm still a bit experimenting on the right structures & abstractions. Properly supporting external contributions takes time, and I'm not ready at the moment to do that. 

Feel free to open issues or comments on the existing ones if you have feedback to give, but don't expect unsollicited pull requests to be merged. 🙂