• Stars
    star
    966
  • Rank 45,413 (Top 1.0 %)
  • Language
    TypeScript
  • Created over 7 years ago
  • Updated 5 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

IOTA JavaScript

iota.js

This library is functionally complete, but it is recommended to use iota.rs. The rust library will be more heavily maintained and is more performant.

Mono-repo containing client and supporting packages for the IOTA chrysalis network, implemented in TypeScript to strongly type the objects sent and received from the API.

Runs in both NodeJS and Browser environments.

Prerequisites

npm install @iota/iota.js

Example

const { SingleNodeClient } = require("@iota/iota.js");

async function run() {
    const client = new SingleNodeClient("https://chrysalis-nodes.iota.org");

    const info = await client.info();
    console.log("Node Info");
    console.log("\tName:", info.name);
    console.log("\tVersion:", info.version);
    console.log("\tIs Healthy:", info.isHealthy);
    console.log("\tNetwork Id:", info.networkId);
    console.log("\tLatest Milestone Index:", info.latestMilestoneIndex);
    console.log("\tConfirmed Milestone Index:", info.confirmedMilestoneIndex);
    console.log("\tPruning Index:", info.pruningIndex);
    console.log("\tFeatures:", info.features);
    console.log("\tMin PoW Score:", info.minPoWScore);
}

run()
    .then(() => console.log("Done"))
    .catch((err) => console.error(err));

Packages

For more details on the main package see @iota/iota.js.

Other packages within the framework are.

Examples

Please find other examples in the ./packages/iota/examples folder.

  • Simple - Performs basic API operations.
  • Address - Demonstrates address generation from a Bip39 mnemonic seed using raw and Bip32 path methods.
  • Transaction - Demonstrates how to send a transaction and call some of the other higher level functions.
  • Data - Storing and retrieving data on the tangle.
  • Browser - Demonstrates direct inclusion and use of the library in an html page.
  • Peers - Demonstrates peer management.
  • Pow - Demonstrates using one of the other PoW packages.

Supporting the project

If the iota.js has been useful to you and you feel like contributing, consider submitting a bug report, feature request or a pull request.

See our contributing guidelines for more information.

Joining the discussion

If you want to get involved in the community, need help with getting set up, have any issues or just want to discuss IOTA, feel free to join our Discord.

License

The separate packages all contain their own licenses.

More Repositories

1

legacy-wallet-use-trinity-wallet-instead

IOTA Wallet
JavaScript
2,076
star
2

iri

IOTA Reference Implementation
Java
1,158
star
3

stronghold.rs

Stronghold is a secret management engine written in rust.
Rust
488
star
4

firefly

The official IOTA and Shimmer wallet
TypeScript
477
star
5

trinity-wallet

Trinity is IOTA's old, deprecated wallet. Use Firefly instead.
JavaScript
473
star
6

goshimmer

Prototype implementation of IOTA 2.0
Go
389
star
7

iota.go

IOTA Go API Library. Find documentation on https://wiki.iota.org/build/welcome
Go
356
star
8

iota.py

PyOTA: The IOTA Python API Library
Python
344
star
9

identity.rs

Implementation of the Decentralized Identity standards such as DID and Verifiable Credentials by W3C for the IOTA Tangle.
Rust
285
star
10

wasp

Node for IOTA Smart Contracts
Go
285
star
11

bee

A framework for IOTA nodes, clients and applications in Rust
Rust
277
star
12

iota.rs

Official IOTA Rust library.
Rust
229
star
13

streams

IOTA Streams, a framework for cryptographic protocols called Applications. Replaces Masked Authenticated Messaging (MAM). Alpha version.
Rust
217
star
14

wallet.rs

Build wallets and other applications involving IOTA value transfer.
Rust
159
star
15

iota-java

IOTA Java API Library. Find documentation on
Java
144
star
16

entangled

enTangle'd is an amalgamation of all things Tangle
C
110
star
17

iota-wiki

IOTA Wiki
TypeScript
108
star
18

tips

Tangle Improvement Proposals for the IOTA technology stack.
JavaScript
84
star
19

android-wallet-app

IOTA Android Wallet Application
Java
82
star
20

iota.legacy.rs

IOTA implementation ( rust )
Rust
77
star
21

chronicle.rs

A framework for building IOTA permanodes
Rust
73
star
22

iota.c

IOTA client library in C
C
67
star
23

crypto.rs

The canonical source of cryptographic ground-truth for IOTA projects that use Rust.
Rust
66
star
24

MAM

Masked Authentication Messaging
Rust
65
star
25

iota.flash.js

JavaScript
64
star
26

iota.lib.csharp

Iota.Lib.Csharp
C#
62
star
27

IOTA-2.0-Research-Specifications

This is the repository of the IOTA 2.0 Research Specifications.
JavaScript
62
star
28

explorer

Explore the IOTA Tangle
TypeScript
60
star
29

hive.go

A Go library containing data structures, various utils and abstractions which are used by both GoShimmer and Hornet.
Go
60
star
30

one-click-tangle

"One Click Tangle" intends to make lives easier to IOTA adopters by providing pre-configured scripts and recipes that allow to deploy IOTA Networks and Nodes "in one click".
Shell
55
star
31

spark-wallet

A low-security wallet intended for short-term use and to send small amounts of IOTA tokens
Svelte
55
star
32

hub

C++
54
star
33

data-marketplace

Proof of Concept Data Marketplace built using MAM and IOTA Tangle.
JavaScript
54
star
34

documentation-platform

Legacy documentation platform
JavaScript
53
star
35

wiki-legacy

These docs have moved!
52
star
36

iota-sdk

The IOTA SDK provides developers with a seamless experience to develop on IOTA by providing account abstractions and clients to interact with node APIs.
Rust
50
star
37

kerl

IOTA is adding an additional hashing function, based on Keccak, with conversion to ternary. The following document describes the functionality and specification to be implemented.
Rust
50
star
38

industry-marketplace

The world's first autonomous and decentralized Industry Marketplace
JavaScript
49
star
39

compass

Java
44
star
40

node-dashboard

TypeScript
44
star
41

iota-core

Go
43
star
42

qupla

A QUbic Programming LAnguage
Java
43
star
43

meta-iota

OpenEmbedded layer for the IOTA Distributed Ledger
BitBake
42
star
44

cli-wallet

Rust
41
star
45

IOTA-2.0-DevNet-wallet

GUI Wallet for use with the IOTA 2.0 DevNet
TypeScript
39
star
46

curl.lib.js

IOTA Proof-of-Work algorithm ported to Javascript to work in WebGL2-enabled browsers
JavaScript
38
star
47

mam.js

Pure JavaScript implementation of MAMv0
TypeScript
37
star
48

poc-ipfs

Demonstration of combining IOTA with IPFS for data storage.
TypeScript
33
star
49

identity.ts

TypeScript
32
star
50

cli-app

CLI App that acts as a wallet
JavaScript
31
star
51

engineering-updates

Periodical updates from the Engineering teams
31
star
52

ccurl

C port of the Curl library
C
30
star
53

integration-services

TypeScript
30
star
54

wasplib

Go
29
star
55

ict

Java
29
star
56

TangleSim

Go
29
star
57

giotan

The CLI Tool for IOTA in Go
Go
28
star
58

chat.ixi

JavaScript
28
star
59

iota.crypto.js

JavaScript
28
star
60

vdf

Implementation of verifiable delay function.
Python
25
star
61

cliri

Coo Less IRI
Java
24
star
62

introduction-docs

Documentation Page for Chrysalis (IOTA 1.5) and Stardust (Shimmer)
JavaScript
24
star
63

docs

IOTA documentation website - PRs welcome!
JavaScript
24
star
64

ledger-iota-app

C
23
star
65

participation-events

22
star
66

HyperledgerFabric-IOTA-Connector

IOTA connector for Hyperledger Fabric Chaincode
Go
22
star
67

selv-mobile

Svelte
21
star
68

chrysalis-faucet

HTML
21
star
69

qubic

Java
20
star
70

iota-area-codes

IACs are a proposed standard for tagging IOTA transactions with a geo-location, which allows them to be fetched based on their location.
TypeScript
19
star
71

fpc-sim

Fast Probabilistic Consensus Simulator
Go
19
star
72

autopeering-sim

Autopeering Simulator
Go
19
star
73

tangle-utils-website

A web site full of utilities for all things tangle, transaction and IOTA.
TypeScript
18
star
74

iota-gui-beta

Beta of IOTA GUI client.
17
star
75

FirstPartyOracle

JavaScript
16
star
76

gh-tangle-release

GitHub Action to publish release details to the Tangle
JavaScript
16
star
77

ledger.rs

Rust
15
star
78

remote-signer

Rust
15
star
79

client-load-balancer

Perform client side load balancing across a list of nodes
TypeScript
15
star
80

bee-meeting-minutes

14
star
81

outdated-mam.client.js

DEPRECATED MAM js client
JavaScript
14
star
82

trade-poc

IOTA Supply Chain Proof-of-Concept
JavaScript
14
star
83

sandbox

Go
14
star
84

access-server

C
14
star
85

mam-explorer

JavaScript
13
star
86

ccurl.interface.js

cCurl Interface for NodeJS
JavaScript
13
star
87

channels-examples

Sample code for IOTA Channels
Rust
13
star
88

bee-rfcs

RFCs to changes to Bee
Shell
13
star
89

inx-chronicle

IOTA permanode implemented using the IOTA Node Extension (INX) interface.
Rust
13
star
90

chronicle

C
13
star
91

esp32-client-sdk

IOTA Client Software Development Kit(SDK) for ESP32
C
13
star
92

seed-migration-tool

IOTA Seed Migration Tool
HTML
12
star
93

iota-css-theme

SCSS
12
star
94

discord-invite-captcha

Simple webserver that will grant you a one-time-use invite for a Discord server if you solve the Captcha.
HTML
12
star
95

drng

Go
12
star
96

tangle.js

Libraries and utilities that make it easier to build applications on the Tangle
TypeScript
12
star
97

streams-examples

Rust
11
star
98

mam.c

C
11
star
99

iota-identity-tutorial

TypeScript
11
star
100

access-sdk

C
10
star