# radixdlt-reactnative

> A Javascript Client library for interacting with a RADIX Distributed Ledger.

Latest version **1.0.9** (published 2019-06-13) · MIT license · 0 weekly downloads

## Install

```sh
npm install radixdlt-reactnative
pnpm add radixdlt-reactnative
yarn add radixdlt-reactnative
bun add radixdlt-reactnative
```

## Health

**Score 30/100 (F)** — status: abandoned.

Positive: has types; esm support; no vulnerabilities; high quality score.

Warnings: low downloads.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.9 |
| Published | 2019-06-13 |
| First published | 2019-06-13 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Node | >=8.9 |
| Dependencies | 22 |
| Unpacked size | 875.3 KB |
| Known vulnerabilities | 0 (+26 in 3 direct dependencies) |
| Install scripts | no |
| GitHub stars | 43 |
| Author | Edgars Nemše |
| Maintainers | carter_andrewj |
| Keywords | typescript, es6, starter, library, universal, umd, commonjs, radix, dlt |

## Links

- npm: https://www.npmjs.com/package/radixdlt-reactnative
- Repository: https://github.com/radixdlt/radixdlt-js
- Issues: https://github.com/radixdlt/radixdlt-js/issues
- npm.io page: https://npm.io/package/radixdlt-reactnative

## Dependencies (22)

- [bs58](https://npm.io/package/bs58.md) ^4.0.1
- [long](https://npm.io/package/long.md) ^4.0.0
- [nedb](https://npm.io/package/nedb.md) ^1.8.0
- [rxjs](https://npm.io/package/rxjs.md) ^6.2.2
- [axios](https://npm.io/package/axios.md) ^0.18.0
- [bn.js](https://npm.io/package/bn.js.md) ^4.11.8
- [buffer](https://npm.io/package/buffer.md) ^5.2.1
- [events](https://npm.io/package/events.md) ^3.0.0
- [elliptic](https://npm.io/package/elliptic.md) ^6.4.1
- [loglevel](https://npm.io/package/loglevel.md) ^1.6.1
- [ipaddr.js](https://npm.io/package/ipaddr.js.md) ^1.9.0
- [bufferutil](https://npm.io/package/bufferutil.md) ^4.0.0
- [decimal.js](https://npm.io/package/decimal.js.md) ^10.0.1
- [rxjs-compat](https://npm.io/package/rxjs-compat.md) ^6.2.2
- [buffer-reader](https://npm.io/package/buffer-reader.md) ^0.1.0
- [nedb-promises](https://npm.io/package/nedb-promises.md) ^3.0.2
- [promise-retry](https://npm.io/package/promise-retry.md) ^1.1.1
- [rpc-websockets](https://npm.io/package/rpc-websockets.md) ^4.3.5
- [typescript-map](https://npm.io/package/typescript-map.md) 0.0.6
- [utf-8-validate](https://npm.io/package/utf-8-validate.md) ^5.0.1
- [@reactivex/rxjs](https://npm.io/package/@reactivex/rxjs.md) ^6.2.2
- [crypto-browserify](https://npm.io/package/crypto-browserify.md) ^3.12.0

## Alternatives

- [@openai/codex-sdk](https://npm.io/package/@openai/codex-sdk.md) — 731.4K weekly downloads
- [babel-plugin-transform-react-jsx](https://npm.io/package/babel-plugin-transform-react-jsx.md) — 565.0K weekly downloads
- [babel-helper-remove-or-void](https://npm.io/package/babel-helper-remove-or-void.md) — 508.5K weekly downloads
- [@pnpm/store-controller-types](https://npm.io/package/@pnpm/store-controller-types.md) — 186.9K weekly downloads
- [react-native-signature-canvas](https://npm.io/package/react-native-signature-canvas.md) — 155.6K weekly downloads

## Recent versions

- 1.0.9 (latest) — 2019-06-13
- 1.0.9-alpha — 2019-06-13

## README

[![License MIT](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/radixdlt/radixdlt-js/blob/master/LICENSE)
[![Build Status](https://travis-ci.com/radixdlt/radixdlt-js.svg?branch=master)](https://travis-ci.com/radixdlt/radixdlt-js)
# radixdlt-js library

A JavaScript client library for interacting with a [Radix](https://www.radixdlt.com) Distributed Ledger via React Native. 

This library and the network itself are currently in **Alpha** development phase. Please report any issues in the [GitHub issue tracker](https://github.com/radixdlt/radixdlt-js/issues).

## Introduction

For an overview of the main components of the library and how they fit together, read this [blog post](https://www.radixdlt.com/post/introducing-the-radix-javascript-library).

## Table of contents

- [Features](#features)
- [Installation](#installation)
- [Build](#build)
- [Example applications](#example-applications)
- [Code examples](#code-examples)
- [Known issues](#known-issues)
- [Contribute](#contribute)
- [Links](#links)
- [License](#license)

## Features

- Full Typescript support
- Follow the reactive programming pattern using [RxJS](https://rxjs-dev.firebaseapp.com/)
- Cryptography using the [elliptic](https://github.com/indutny/elliptic) library
- Automatically manage connection to the Radix Universe in a sharded environment
- Communication with the Radix network usign RPC over websockets
- Read Atoms in any address
- Write Atoms to the ledger
- End-to-end data encryption using ECIES

## Differences from Basic JS Library

- Forked from the 1.0.9-alpha release of [RadixDLT JS](https://github.com/radixdlt/radixdlt-js)
- Implements [Crypto Browserified](https://www.npmjs.com/package/crypto-browserify) in place of core Crypto module
- Implements [Events](https://www.npmjs.com/package/events) in place of core Events module

## Installation

To install the library using your preferred package manager:

`yarn add radixdlt` or `npm install radixdlt --save`

## Build

To build the library using your preferred package manager:

`yarn install && yarn build` or `npm install && npm build`

### Test

Run tests with `yarn test`.

## Example applications

- [Front-end example using Vue.js](https://github.com/radixdlt/radixdlt-js-skeleton)
- [Express.js server example](https://github.com/radixdlt/radixdlt-js-server-example)

## Code examples

In our [Knowledge Base](https://docs.radixdlt.com) you can find implementation examples to execute basic tasks with our JavaScript library:

- [Initializing a Universe](https://docs.radixdlt.com/alpha/developer/javascript-client-library-guide/code-examples#initializing-a-universe)
- [Reading Atoms from a public address](https://docs.radixdlt.com/alpha/developer/javascript-client-library-guide/code-examples#reading-atoms-from-a-public-address)
- [Reading and decrypting Atoms from an owned address](https://docs.radixdlt.com/alpha/developer/javascript-client-library-guide/code-examples#reading-and-decrypting-atoms-from-an-owned-address)
- [Sending a Transaction](https://docs.radixdlt.com/alpha/developer/javascript-client-library-guide/code-examples#sending-a-transaction)
- [Sending a Message](https://docs.radixdlt.com/alpha/developer/javascript-client-library-guide/code-examples#sending-a-message)
- [Storing an application Payload](https://docs.radixdlt.com/alpha/developer/javascript-client-library-guide/code-examples#storing-an-application-payload)
- [Caching Atoms](https://docs.radixdlt.com/alpha/developer/javascript-client-library-guide/code-examples#caching-atoms)
- [Storing private Keys](https://docs.radixdlt.com/alpha/developer/javascript-client-library-guide/code-examples#storing-private-keys)
- [Loading private Keys](https://docs.radixdlt.com/alpha/developer/javascript-client-library-guide/code-examples#loading-private-keys)
- [Setting a log level](https://docs.radixdlt.com/alpha/developer/javascript-client-library-guide/code-examples#setting-a-log-level)

## Known issues

### Angular

Apparently on Angular 6+ versions, the node module polyfills from webpack are not bundled. To fix your issue with crypto, path, etc. go to `node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/webpack-configs/browser.js` and do the following change:

```
node: { crypto: true, path: true }
```

> NOTE: This is not a reproducible fix. If you install your modules in a new location, you will lose this change.

## Contribute

Contributions are welcome, we simply ask to:

* Fork the codebase
* Make changes
* Submit a pull request for review

When contributing to this repository, we recommend to discuss the change you wish to make via issue,
email, or any other method with the owners of this repository before making a change. 

Please follow our [Code of Conduct](CODE_OF_CONDUCT.md) in all your interactions with the project.

## Links

| Link | Description |
| :----- | :------ |
[radixdlt.com](https://radixdlt.com/) | Radix DLT Homepage
[documentation](https://docs.radixdlt.com/) | Radix Knowledge Base
[forum](https://forum.radixdlt.com/) | Radix Technical Forum
[@radixdlt](https://twitter.com/radixdlt) | Follow Radix DLT on Twitter

## License

The radixdlt-js library is released under the [MIT License](LICENSE).

---
_Source: https://npm.io/package/radixdlt-reactnative · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
