open-index/open-npm huggingface dataset:
npm package: @redstone-finance/on-chain-relayer
Description: [![License](https://img.shields.io/badge/license-MIT-green)](https://choosealicense.com/licenses/mit/) [![Discord](https://img.shields.io/discord/786251205008949258?logo=discord)](https://discord.gg/2CT6hN6C) [![Twitter](https://img.shields.io/twitter/fol
Latest version: 0.9.0

# On-chain relayer

[![License](https://img.shields.io/badge/license-MIT-green)](https://choosealicense.com/licenses/mit/)
[![Discord](https://img.shields.io/discord/786251205008949258?logo=discord)](https://discord.gg/2CT6hN6C)
[![Twitter](https://img.shields.io/twitter/follow/redstone_defi?style=flat&logo=twitter)](https://twitter.com/intent/follow?screen_name=redstone_defi)

## Documentation

The complete documentation can be found [here](https://docs.redstone.finance/docs/smart-contract-devs/get-started/redstone-classic)


## Run on-chain relayer

1. Install dependencies - `yarn`
2. Compile contracts - `yarn compile`
3. Deploy contracts - [script](../contract-deployments/scripts/deploy-price-feed-contract.ts) by using `yarn run-script`
4. Put correct data to [environment variables](https://docs.redstone.finance/docs/smart-contract-devs/get-started/redstone-classic#environment-variables)
5. Compile code - `yarn build`
6. Start on-chain relayer - `yarn start`
npm package: @redstone-finance/protocol
Description: TypeScript implementations of the RedStone Protocol messages and their serialization, deserialization, signing and verification. This is shared code used by other packages in this monorepo.
Latest version: 0.9.0

# @redstone-finance/protocol

TypeScript implementations of the RedStone Protocol messages and their serialization, deserialization, signing and verification. This is shared code used by other packages in this monorepo.
npm package: @redstone-finance/rpc-providers
Description: :::info Tested only with JsonRpcProviders :::
Latest version: 0.9.0

# Magic providers, compatible with ethers.Provider interface

:::info
Tested only with JsonRpcProviders
:::

## ProviderWithFallback

1. If the provider fails on some operation new provider is elected.
2. If all providers fail on the same operation error is thrown.
3. When we switch to the next provider, all operations are executed by it till it fails.
4. Providers are elected by the sequence given in array. If array ends we start from the beginning.

## ProviderWithAgreement

1. Works like `ProviderWithFallback, with an exception for two methods.
2. `getBlockNumber` asks all providers for blockNumber and then picks (default is median)
3. `call` asks all providers for result
   - if at least `N` answers are the same, it returns call result
   - ignores all errors
   - as soon as it will receive `N` matching responses returns. (doesn't wait for the rest of the providers to finish)
npm package: @redstone-finance/solana-connector
Description: A tool to inject RedStone data into Solana compatible smart contracts
Latest version: 0.9.0

# solana-connector

## Deploying and testing

### Requirements
Before use, you will need:
* rust
* solana-cli
* anchor-cli
* node

### Tools versions
* anchor-cli 0.30.1
* solana-cli 2.1.4 (src:024d047e; feat:288566304, client:Agave)
* npm 10.9.0
* node v18.20.5

All installation steps are described [here](https://solana.com/docs/intro/installation#install-dependencies)

### Build and run contract tests

```sh
cd solana
make build
make lint
make test
```

### Run deployment

Fill envs in file .env. See .env.example for reference.

```sh
NETWORK=localnet yarn sample-deploy
NETWORK=localnet yarn sample-run
```


### Upgrading program

1. Create buffer with new program-data
2. Transfer ownership of buffer to multisig
3. Upgrade program to use the new buffer

```sh
solana program write-buffer <PROGRAM_FILEPATH> 
# > Buffer: BUFFER_ADDRESS
solana account <BUFFER_ADDRESS> # shows data of the new buffer account
solana program set-buffer-authority <BUFFER_ADDRESS> --new-buffer-authority <NEW_BUFFER_AUTHORITY> # NEW_BUFFER_AUTHORITY = Multisig Vault Pda
yarn gov-as-multi-sig # multi sig upgrade procedure
```
npm package: @redstone-finance/utils
Description: This package is destined to use internally. We gather here functionalities which are used across many data-packages. This has two big advantages:
Latest version: 0.9.0

# RedStone Utils

This package is destined to use internally.
We gather here functionalities which are used across many data-packages. This has two big advantages:

- consistency (eg. one way of calculating deviation)
- reduce cross packages imports which leads to circular dependencies
npm package: @redstone-ruby/redstone
Description: Ruby Interpreter written in JavaScript
Author: Marco Roth
Latest version: 0.0.1

<div align="center">
  <img alt="Redstone Ruby interpreter" height="128px" src="assets/logo.svg">
</div>

<h2 align="center">Redstone</h2>

<h4 align="center">Ruby Interpreter written in JavaScript</h4>

<div align="center">A cross-platform Ruby interpreter that runs on browsers, Node.js, and Bun.</div>

## About

Redstone is a Ruby interpreter implemented in pure JavaScript, designed to run Ruby code across multiple JavaScript environments including web browsers, Node.js, and Bun. It provides a unified way to execute Ruby code in JavaScript runtimes without transpilation.

## Installation

```bash
npm install @redstone-ruby/redstone
```

## Contributing

Contributions are welcome! Please read our [Contributing Guide](CONTRIBUTING.md) for details on our code of conduct and the process for submitting pull requests.

## License

This project is licensed under the [MIT License](LICENSE.txt).
npm package: @redstone-solutions/better-console
Description: A JavaScript library to improve terminal outputs.
Author: Matheus Sartori
Latest version: 1.0.3

# Better Console

## Usage
```javascript
import { BConsole } from '@matheussartori/better-console'

BConsole.print('Hello World!', {
  date: {
    show: true,
    textColor: 'blackBright'
  },
  textColor: 'cyan',
  emojiLeft: 'fire'
})
```

Full docs available soon.
npm package: @redstone-solutions/hackerchat-client
Description: The hackerchat client allows you to connect to any hackerchat server, directly on the shell.
Author: redstone-solutions
Latest version: 1.0.2

<p align="center">
  <img alt="Hackerchat Terminal Client" height="350" src="https://github.com/redstone-solutions/hackerchat-terminal-client/raw/main/assets/hackerchat-terminal-client.png" />
</p>

<h3 align="center">
  Hackerchat Terminal Client
</h3>

<blockquote align="center">"This software is a continued idea of the project created by Erick Wendel."</blockquote>
<br>

<p align="center">
  <a href="https://redstonesolutions.com.br">
    <img alt="Made by Redstone Solutions" src="https://img.shields.io/badge/made%20by-Redstone%20Solutions-%2304D361">
  </a>

  <img alt="License" src="https://img.shields.io/badge/license-MIT-%2304D361">
</p>

<p align="center">
  <a href="#about-the-project">About the project</a><br>
  <a href="#installation">Installation</a><br>
  <a href="#connecting-to-a-server">Connecting to a server</a><br>
  <a href="#closing-the-chat">Closing the chat</a><br>
</p>

## About the project

Hacker chat is a http service that works with websockets. It allows users to create and connect in rooms and change messages.

It is possible to create any interface to communicate with it, web, mobile, desktop, etc.

The terminal client allows you to connect to any hackerchat server, directly on the shell.

<p align="center">
  <img alt="Hackerchat Terminal Client" src="https://github.com/redstone-solutions/hackerchat-terminal-client/raw/main/assets/terminal.png" />
</p>

### Installation

To install the client, you'll need to run:

```bash
npm install -g @redstone-solutions/hackerchat-client
```
or...
```bash
yarn global add @redstone-solutions/hackerchat-client
```

### Connecting to a server

For connecting with a server, you'll need to run:

```bash
hackerchat --username YOUR_USERNAME --room ROOM_NAME --hostUri SERVER_URL
```

The hostUri argument is optional. If the host is missing, the client will connect with the global server.

### Closing the chat

If you want to close the chat, double press the "ESC" button.

---

Made with ❤️ by Redstone Solutions :wave: [Join our community!](https://discord.gg/SNQXH5cKEB)
npm package: @redstonetechnology/react-native-cached-images
Description: CachedImage component for react-native
Author: tuan
Latest version: 0.1.5

# react-native-cached-images

CachedImage component for react-native

**This folk is TEMPORARY, orginal from [react-native-cached-image](https://github.com/kfiroo/react-native-cached-image)**

Package **react-native-cached-image** is out update, it depends on react-native-fetch-blob and now package react-native-fetch-blob is no longer support so this folk move depends to rn-fetch-blob.

## Installation

    npm install react-native-cached-images --save
    - or -
    yarn add react-native-cached-images

We use [`rn-fetch-blob`](https://github.com/joltup/rn-fetch-blob) to handle file system access in this package and it requires an extra step during the installation.

View how to install [rn-fetch-blob](https://github.com/joltup/rn-fetch-blob#user-content-installation)

## Note

All sources belong to https://github.com/kfiroo/react-native-cached-image, view more Installation and Usage in orginal repo.
npm package: @redstonetechnology/react-native-os
Description: node's os module for react-native
Latest version: 1.2.8
Deprecated: false

# os in React Native

node's [os](https://nodejs.org/api/os.html) API in React Native

This module is used by [Peel](http://www.peel.com/)

## Install

* Create a new react-native project. [Check react-native getting started](http://facebook.github.io/react-native/docs/getting-started.html#content)

* In your project dir:

```
npm install react-native-os --save
```

__Note for iOS:__ If your react-native version < 0.40 install with this tag instead:
```
npm install react-native-os@1.0.3 --save
```

## Link in the native dependency

```
react-native link react-native-os
```

***Step 3 Profit***

## Usage

### package.json

_only if you want to write require('os') in your javascript_

```json
{
  "react-native": {
    "os": "react-native-os"
  }
}
```

## Contributors

[Andy Prock](https://github.com/aprock)  

PR's welcome!
npm package: @redstonetechnology/react-native-tcp
Description: node's net API for react-native
Author: Andy Prock
Latest version: 4.1.1

# TCP in React Native

node's [net](https://nodejs.org/api/net.html) API in React Native

This module is used by [Peel](http://www.peel.com/)

## Install

* Create a new react-native project. [Check react-native getting started](http://facebook.github.io/react-native/docs/getting-started.html#content)

* In your project dir:

```
npm install react-native-tcp --save
```

__Note for iOS:__ If your react-native version < 0.40 install with this tag instead:
```
npm install react-native-tcp@3.1.0 --save
```
## if using Cocoapods

Update the following line with your path to `node_modules/` and add it to your
podfile:

```ruby
pod 'TcpSockets', :path => '../node_modules/react-native-tcp'
```

## Link in the native dependency

```
react-native link react-native-tcp
```

## Additional dependencies

### Due to limitations in the react-native packager, streams need to be hacked in with [rn-nodeify](https://www.npmjs.com/package/rn-nodeify)

1. install rn-nodeify as a dev-dependency
``` npm install --save-dev rn-nodeify ```
2. run rn-nodeify manually
``` rn-nodeify --install stream,process,util --hack ```
3. optionally you can add this as a postinstall script
``` "postinstall": "rn-nodeify --install stream,process,util --hack" ```

## Usage

### package.json

_only if you want to write require('net') in your javascript_

```json
{
  "browser": {
    "net": "react-native-tcp"
  }
}
```

### JS

_see/run [index.ios.js/index.android.js](examples/rctsockets) for a complete example, but basically it's just like net_

```js
var net = require('net');
// OR, if not shimming via package.json "browser" field:
// var net = require('react-native-tcp')

var server = net.createServer(function(socket) {
  socket.write('excellent!');
}).listen(12345);

var client = net.createConnection(12345);

client.on('error', function(error) {
  console.log(error)
});

client.on('data', function(data) {
  console.log('message was received', data)
});
```

### TODO

add select tests from node's tests for net

PR's welcome!



_originally forked from [react-native-udp](https://github.com/tradle/react-native-udp)_