1.0.0-rc.75 • Published 7 months ago

@signumjs/monitor v1.0.0-rc.75

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
7 months ago

@signumjs/monitor

A monitor to watch for specific changes on the Signum blockchain platform

Due to average blocktime of 240 seconds, transactions stay pending for a certain time. It is a repeating pattern to watch for such changes and waiting for confirmation. This package simplifies this task.

Installation

@signumjs/monitor can be used with NodeJS or Web. Two formats are available

Using with NodeJS and/or modern web frameworks

Install using npm:

npm install @signumjs/monitor

or using yarn:

yarn add @signumjs/monitor

Example

// TODO:

import {Monitor} from '@signumjs/monitor'
import {composeApi} from "@signumjs/core";

// A method that checks if an account exists
// > IMPORTANT: Do not use closures, when you need to serialize the monitor
async function tryFetchAccount() {
    const api = composeApi({ nodeHost: 'https://testnet.signum.network:6876/'})
    try{
        const {account} = await api.account.getAccount('1234')
        return account;
    }catch (e){
        // ignore error
        return null;
    }
}

// A comparing function to check if a certain condition for the returned data from fetch function
// is true. If it's true the monitor stops
function checkIfAccountExists(account) {
    return account !== null;
}

// Create your monitor
const monitor = new Monitor({
    asyncFetcherFn: tryFetchAccount,
    compareFn: checkIfAccountExists,
    intervalSecs: 10, // polling interval in seconds
    key: 'monitor-account',
    timeoutSecs: 2 * 240 // when reached timeout the monitor stops
});
// starts monitor
monitor.start();

// called when `checkIfAccountExists` returns true
monitor.onFulfilled(() => {
    console.log('Yay, account active');
});

// called when `timeoutSecs` is reached
monitor.onTimeout(() => {
    console.log('Hmm, something went wrong');
});

Using in classic <script>

Each package is available as bundled standalone library using UMD. This way signumJS can be used also within <script>-Tags. This might be useful for Wordpress and/or other PHP applications.

Just import the package using the HTML <script> tag.

<script src='https://cdn.jsdelivr.net/npm/@signumjs/monitor/dist/signumjs.monitor.min.js'></script>

Example

const {Monitor} = sig$Monitor;
const monitor = new Monitor({
    //...
});
monitor.start()
monitor.onFulFilled(() => {
    //...
})

See more here:

@signumjs/monitor Online Documentation

1.0.0-rc.71

9 months ago

1.0.0-rc.75

7 months ago

1.0.0-rc.74

8 months ago

1.0.0-rc.73

8 months ago

1.0.0-rc.72

8 months ago

1.0.0-rc.70

11 months ago

1.0.0-rc.60

1 year ago

1.0.0-rc.57

1 year ago

1.0.0-rc.56

1 year ago

1.0.0-rc.59

1 year ago

1.0.0-rc.58

1 year ago

1.0.0-rc.64

1 year ago

1.0.0-rc.63

1 year ago

1.0.0-rc.62

1 year ago

1.0.0-rc.61

1 year ago

1.0.0-rc.68

1 year ago

1.0.0-rc.67

1 year ago

1.0.0-rc.66

1 year ago

1.0.0-rc.65

1 year ago

1.0.0-rc.69

1 year ago

1.0.0-rc.53

1 year ago

1.0.0-rc.55

1 year ago

1.0.0-rc.54

1 year ago

1.0.0-rc.42

1 year ago

1.0.0-rc.41

2 years ago

1.0.0-rc.40

2 years ago

1.0.0-rc.46

1 year ago

1.0.0-rc.45

1 year ago

1.0.0-rc.44

1 year ago

1.0.0-rc.43

1 year ago

1.0.0-rc.49

1 year ago

1.0.0-rc.48

1 year ago

1.0.0-rc.47

1 year ago

1.0.0-rc.52

1 year ago

1.0.0-rc.51

1 year ago

1.0.0-rc.50

1 year ago

1.0.0-rc.39

2 years ago

1.0.0-rc.38

2 years ago

1.0.0-rc.37

2 years ago

1.0.0-rc.36

2 years ago

1.0.0-rc.31

2 years ago

1.0.0-rc.34

2 years ago

1.0.0-rc.33

2 years ago

1.0.0-rc.32

2 years ago

1.0.0-rc.28

2 years ago

1.0.0-rc.29

2 years ago

1.0.0-rc.30

2 years ago

1.0.0-rc.20

2 years ago

1.0.0-rc.24

2 years ago

1.0.0-rc.23

2 years ago

1.0.0-rc.22

2 years ago

1.0.0-rc.21

2 years ago

1.0.0-rc.27

2 years ago

1.0.0-rc.26

2 years ago

1.0.0-rc.25

2 years ago

1.0.0-rc.19

2 years ago

1.0.0-rc.18

2 years ago

1.0.0-rc.17

2 years ago

1.0.0-rc.16

2 years ago

1.0.0-rc.15

2 years ago

1.0.0-rc.14

2 years ago

1.0.0-rc.9

2 years ago

1.0.0-rc.13

2 years ago

1.0.0-rc.12

2 years ago

1.0.0-rc.11

2 years ago

1.0.0-rc.10

2 years ago

1.0.0-rc.8

2 years ago

1.0.0-rc.7

3 years ago

1.0.0-rc.5

3 years ago

1.0.0-rc.6

3 years ago

1.0.0-rc.4

3 years ago

1.0.0-rc.3

3 years ago

1.0.0-rc.2

3 years ago

1.0.0-rc.1

3 years ago

1.0.0-rc.0

3 years ago