0.6.0 • Published 10 months ago

@ravenite/ravencoin-stratum-server v0.6.0

Weekly downloads
-
License
MIT
Repository
github
Last release
10 months ago

Ravencoin Stratum Server

NPM Package

Stratum Conversion to TypeScript from Ravencoin Stratum Server.

Getting Started

# Using npm
npm install @ravenite/ravencoin-stratum-server

# Using yarn
yarn add @ravenite/ravencoin-stratum-server

Usage

import { createPool } from '@ravenite/ravencoin-stratum-server'

const options = {...}

function authorizeFn() {...}

const pool = new createPool(options, authorizeFn)

pool.start()

Authorize Function Example

function authorizeFn(
  ip,
  port,
  workerName,
  password,
  extraNonce1,
  version,
  callback
) {
  // Your Auth Handler
  handlers.auth(port, workerName, password, function(authorized) {
    var authString = authorized ? 'Authorized' : 'Unauthorized ';
    logger.debug(
      'AUTH>TRUE> authstr [%s] worker [%s] passwd [%s] ip [%s]',
      authString,
      workerName,
      password,
      functions.anonymizeIP(ip)
    );
    // Callback to Stratum Server
    callback({
      error: null,
      authorized: authorized,
      disconnect: false,
    });
  });
}

Options

{
  "address": "xxxxxx",
  "blockRefreshInterval": 400,
  "coin": {
    "algorithm": "kawpow",
    "name": "ravencoin",
    "reward": "POS",
    "symbol": "RVN"
  },
  "connectionTimeout": 600,
  "daemons": [
    {
      "host": "127.0.0.1",
      "port": 8766,
      "user": "user1",
      "password": "pass1"
    }
  ],
  "feePercent": 0,
  "initStats": {
    "updateInterval": 900,
    "historicalRetention": 43200,
    "hashrateWindow": 900
  },
  "jobRebroadcastTimeout": 25,
  "p2p": {
    "enabled": false,
    "host": "127.0.0.1",
    "port": 8767,
    "disableTransactions": true
  },
  "ports": {
    "10008": {
      "diff": 0.05,
      "varDiff": {
        "minDiff": 0.025,
        "maxDiff": 1024,
        "targetTime": 10,
        "retargetTime": 60,
        "variancePercent": 30,
        "maxJump": 25
      }
    },
    "10016": {
      "diff": 0.1,
      "varDiff": {
        "minDiff": 0.05,
        "maxDiff": 1024,
        "targetTime": 10,
        "retargetTime": 60,
        "variancePercent": 30,
        "maxJump": 25
      }
    },
    "10032": {
      "diff": 0.2,
      "varDiff": {
        "minDiff": 0.1,
        "maxDiff": 1024,
        "targetTime": 10,
        "retargetTime": 60,
        "variancePercent": 30,
        "maxJump": 50
      }
    },
    "10256": {
      "diff": 1024000000,
      "varDiff": {
        "minDiff": 1024000000,
        "maxDiff": 20480000000,
        "targetTime": 10,
        "retargetTime": 60,
        "variancePercent": 30,
        "maxJump": 25
      }
    }
  },
  "rewardRecipients": {
    "xxxxxx": 0.5
  },
  "tcpProxyProtocol": false,
  "testnet": true
}
PropertyType
addressstring // pool address
apiany (optional)
banningBanning (optional)
blockRefreshIntervalnumber
coinCoin
connectionTimeoutnumber
daemonsDaemon[]
feePercentnumber
jobRebroadcastTimeoutnumber
kawpow_validatorstring (optional)
kawpow_wrapper_hoststring (optional)
kawpow_wrapper_portnumber (optional)
p2pP2p
poolAddressScriptany
portsRecord<string, Port>
rewardRecipientsRecord<string, number> // address:percentage
tcpProxyProtocolboolean
testnetboolean (optional)

Port

PropertyType
diffnumber
tlstls.TLSSocket
varDiffobject

varDiff

PropertyType
maxDiffnumber
maxJumpnumber
minDiffnumber
retargetTimenumber
targetTimenumber
variancePercentnumber

Coin

PropertyTypeValue
algorithmstring // kawpowkawpow
namestring // ravencoinravencoin
peerMagicstring (optional)
peerMagicTestnetstring (optional)
rewardstring'POS' 'POW'
symbolstringRVN

P2p

PropertyType
enabledboolean (optional)
hoststring
portnumber
disableTransactionsboolean (optional)

Daemon

PropertyType
hoststring
portnumber
userstring
passwordstring

License

Code released under the GPL-3.0 license.

0.5.3

10 months ago

0.6.0

10 months ago

0.5.2

1 year ago

0.5.1

1 year ago

0.5.0

1 year ago

0.4.5

1 year ago

0.4.4

1 year ago

0.4.3

1 year ago

0.4.2

1 year ago

0.4.1

1 year ago

0.4.0

1 year ago

0.3.0

1 year ago

0.2.2

1 year ago

0.2.1

1 year ago

0.2.0

1 year ago

0.1.1

1 year ago

0.1.0

1 year ago