Class: Node
Rocket Pool Node Manager
Constructors
constructor
• new Node(web3
, contracts
)
Create a new Node instance.
Parameters
Name | Type | Description |
---|---|---|
web3 | default | A valid Web3 instance |
contracts | Contracts | A Rocket Pool contract manager instance |
Defined in
rocketpool/node/node.ts:25
Accessors
rocketNodeDeposit
• Private
get
rocketNodeDeposit(): Promise
<Contract
>
Private accessor use to retrieve the related contract
Returns
Promise
<Contract
>
a Promise<Contract> with a web3.eth.contract instance of the rocketNodeDeposit contract
Defined in
rocketpool/node/node.ts:31
rocketNodeManager
• Private
get
rocketNodeManager(): Promise
<Contract
>
Private accessor use to retrieve the related contract
Returns
Promise
<Contract
>
a Promise<Contract> with a web3.eth.contract instance of the rocketNodeManager contract
Defined in
rocketpool/node/node.ts:39
rocketNodeStaking
• Private
get
rocketNodeStaking(): Promise
<Contract
>
Private accessor use to retrieve the related contract
Returns
Promise
<Contract
>
a Promise<Contract> with a web3.eth.contract instance of the rocketNodeStaking contract
Defined in
rocketpool/node/node.ts:47
rocketStorage
• Private
get
rocketStorage(): Promise
<Contract
>
Private accessor use to retrieve the related contract
Returns
Promise
<Contract
>
a Promise<Contract> with a web3.eth.contract instance of the rocketStorage contract
Defined in
rocketpool/node/node.ts:55
Methods
getNodes
▸ getNodes(): Promise
<NodeDetails
[]>
Get an array of Node Details
example
using Typescript
const nodes = rp.node.getNodes().then((val: string) => { val };
Returns
Promise
<NodeDetails
[]>
a Promise<NodeDetails[]> that resolves to an array of NodeDetails
Defined in
rocketpool/node/node.ts:68
getNodeAddresses
▸ getNodeAddresses(): Promise
<string
[]>
Get an array of node addresses
example
using Typescript
const addresses = rp.node.getNodesAddresses().then((val: string[]) => { val };
Returns
Promise
<string
[]>
a Promise<string[]> that resolves to an array of node addresses
Defined in
rocketpool/node/node.ts:87
getNodeDetails
▸ getNodeDetails(address
): Promise
<NodeDetails
>
Get a node's details
example
using Typescript
const nodeDetail = rp.node.getNodeDetails("0x24fBeD7Ecd625D3f0FD19a6c9113DEd436172294").then((val: NodeDetails) => { val }
Parameters
Name | Type | Description |
---|---|---|
address | string | A string representing a node address |
Returns
Promise
<NodeDetails
>
a Promise<NodeDetails> that resolves to a NodeDetails object
Defined in
rocketpool/node/node.ts:107
getNodeCount
▸ getNodeCount(): Promise
<number
>
Get the total node count
example
using Typescript
const nodeCount = rp.node.getNodeCount().then((val: number) => { val };
Returns
Promise
<number
>
a Promise<number> that resolves to a number representing the quantity of total nodes
Defined in
rocketpool/node/node.ts:126
getNodeAt
▸ getNodeAt(index
): Promise
<string
>
Get a node address by index
example
using Typescript
const nodeAddress = rp.node.getNodeAt(5).then((val: string) => { val };
Parameters
Name | Type | Description |
---|---|---|
index | number | A number representing the index of the node |
Returns
Promise
<string
>
a Promise<string> that resolves to a string representing a node address
Defined in
rocketpool/node/node.ts:144
getNodeExists
▸ getNodeExists(address
): Promise
<boolean
>
Check whether a node exists
example
using Typescript
const exists = rp.node.getNodeExists("0x24fBeD7Ecd625D3f0FD19a6c9113DEd436172294").then((val: boolean) => { val };
Parameters
Name | Type | Description |
---|---|---|
address | string | A string representing a node address |
Returns
Promise
<boolean
>
a Promise<boolean> that resolves to a boolean representing whether the node exists or not
Defined in
rocketpool/node/node.ts:160
getNodeTimezoneLocation
▸ getNodeTimezoneLocation(address
): Promise
<string
>
Get a node's timezone location
example
using Typescript
const tz = rp.node.getNodeTimezoneLocation("0x24fBeD7Ecd625D3f0FD19a6c9113DEd436172294").then((val: string) => { val };
Parameters
Name | Type | Description |
---|---|---|
address | string | A string representing a node address |
Returns
Promise
<string
>
a Promise<string> that resolves to a string representing the node's timezone
Defined in
rocketpool/node/node.ts:176
getNodeWithdrawalAddress
▸ getNodeWithdrawalAddress(address
): Promise
<string
>
Get a node's withdrawal address
example
using Typescript
const withdrawalAddress = rp.node.getNodeWithdrawalAddress("0x24fBeD7Ecd625D3f0FD19a6c9113DEd436172294").then((val: string) => { val };
Parameters
Name | Type | Description |
---|---|---|
address | string | A string representing a node address |
Returns
Promise
<string
>
a Promise<string> that resolves to a string representing the node's withdrawal address
Defined in
rocketpool/node/node.ts:192
getNodeRPLStake
▸ getNodeRPLStake(address
): Promise
<string
>
Get a node's RPL stake
example
using Typescript
const nodeRPLStake = rp.node.getNodeRPLStake("0x24fBeD7Ecd625D3f0FD19a6c9113DEd436172294").then((val: string) => { val };
Parameters
Name | Type | Description |
---|---|---|
address | string | A string representing a node address |
Returns
Promise
<string
>
a Promise<string> that resolves to a string representing the node's RPL stake
Defined in
rocketpool/node/node.ts:208
getNodeEffectiveRPLStake
▸ getNodeEffectiveRPLStake(address
): Promise
<string
>
Get a node's effective RPL stake
example
using Typescript
const nodeEffectiveRPLStake = rp.node.getNodeEffectiveRPLStake("0x24fBeD7Ecd625D3f0FD19a6c9113DEd436172294").then((val: string) => { val };
Parameters
Name | Type | Description |
---|---|---|
address | string | A string representing a node address |
Returns
Promise
<string
>
a Promise<string> that resolves to a string representing the node's effective RPL stake
Defined in
rocketpool/node/node.ts:224
getNodeMinipoolLimit
▸ getNodeMinipoolLimit(address
): Promise
<string
>
Get the node minipool limit
example
using Typescript
const nodeMinipoolLimit = rp.node.getNodeMinipoolLimit("0x24fBeD7Ecd625D3f0FD19a6c9113DEd436172294").then((val: string) => { val };
Parameters
Name | Type | Description |
---|---|---|
address | string | A string representing a node address |
Returns
Promise
<string
>
a Promise<string> that resolves to a string representing the node minipool limit
Defined in
rocketpool/node/node.ts:240
getNodeTotalEffectiveRPLStake
▸ getNodeTotalEffectiveRPLStake(): Promise
<string
>
Get a node's total effective RPL stake
example
using Typescript
const nodeTotalEffectiveRPLStake = rp.node.getNodeTotalEffectiveRPLStake("0x24fBeD7Ecd625D3f0FD19a6c9113DEd436172294").then((val: string) => { val };
Returns
Promise
<string
>
a Promise<string> that resolves to a string representing the node's RPL stake
Defined in
rocketpool/node/node.ts:256
getNodeMinimumRPLStake
▸ getNodeMinimumRPLStake(address
): Promise
<string
>
Get a node's minimum RPL stake
example
using Typescript
const nodeRPLStake = rp.node.getNodeRPLStake("0x24fBeD7Ecd625D3f0FD19a6c9113DEd436172294").then((val: string) => { val };
Parameters
Name | Type | Description |
---|---|---|
address | string | A string representing a node address |
Returns
Promise
<string
>
a Promise<string> that resolves to a string representing the node's minimum RPL stake
Defined in
rocketpool/node/node.ts:272
getNodePendingWithdrawalAddress
▸ getNodePendingWithdrawalAddress(address
): Promise
<string
>
Get a node's pending withdrawal address
example
using Typescript
const pendingWithdrawalAddress = rp.node.getNodePendingWithdrawalAddress("0x24fBeD7Ecd625D3f0FD19a6c9113DEd436172294").then((val: string) => { val };
Parameters
Name | Type | Description |
---|---|---|
address | string | A string representing a node address |
Returns
Promise
<string
>
a Promise<string> that resolves to a string representing the node's pending withdrawal address
Defined in
rocketpool/node/node.ts:288
getTotalEffectiveRPLStake
▸ getTotalEffectiveRPLStake(): Promise
<string
>
Get the total effective RPL stake
example
using Typescript
const totalEffectiveRPLStake = rp.node.getTotalEffectiveRPLStake().then((val: string) => { val };
Returns
Promise
<string
>
a Promise<string> that resolves to a string representing the total effective rpl stake
Defined in
rocketpool/node/node.ts:303
getTotalRPLStake
▸ getTotalRPLStake(): Promise
<string
>
Get the total RPL stake
example
using Typescript
const totalRPLStake = rp.node.getTotalRPLStake().then((val: string) => { val };
Returns
Promise
<string
>
a Promise<string> that resolves to a string representing the total rpl stake
Defined in
rocketpool/node/node.ts:318
calculateTotalEffectiveRPLStake
▸ calculateTotalEffectiveRPLStake(offset
, limit
, rplPrice
): Promise
<string
>
Calculate the total effective RPL stake provided inputs
params
offset a number representing the offset
params
limit a number representing the limit
params
rplPrice a string representing the rplPrice
example
using Typescript
const calculatedTotalEffectiveRPLStake = rp.node.calculateTotalEffectiveRPLStake(offset, limit, rplPrice).then((val: string) => { val };
Parameters
Name | Type |
---|---|
offset | number |
limit | number |
rplPrice | string |
Returns
Promise
<string
>
a Promise<string> that resolves to a string representing the calculated RPL stake given inputs
Defined in
rocketpool/node/node.ts:336
getNodeCountPerTimezone
▸ getNodeCountPerTimezone(offset
, limit
): Promise
<object
>
Get a breakdown of the number of nodes per timezone
params
offset a number representing the offset
params
limit a number representing the limit
example
using Typescript
const nodeCountPerTimezone = rp.node.getNodeCountPerTimezone(offset, limit).then((val: object) => { val };
Parameters
Name | Type |
---|---|
offset | number |
limit | number |
Returns
Promise
<object
>
a Promise<object> that resolves to an object node counts per timezone
Defined in
rocketpool/node/node.ts:353
getDepositType
▸ getDepositType(amount
): Promise
<number
>
Get the deposit type
params
amount a number representing the deposit amount
example
using Typescript
const nodeCountPerTimezone = rp.node.getNodeCountPerTimezone(offset, limit).then((val: object) => { val };
Parameters
Name | Type |
---|---|
amount | string |
Returns
Promise
<number
>
a Promise<number> that resolves to a number representing the minipool deposit enum value type
Defined in
rocketpool/node/node.ts:369
registerNode
▸ registerNode(timezoneLocation
, options?
, onConfirmation?
): Promise
<TransactionReceipt
>
Register a node
example
using Typescript
const timezoneLocation = "Australia/Brisbane";
const nodeAddress = "0x24fBeD7Ecd625D3f0FD19a6c9113DEd436172294";
const options = {
from: nodeAddress,
gas: 1000000
}
const txReceipt = rp.node.registerNode(timezoneLocation, options).then((txReceipt: TransactionReceipt) => { txReceipt };
Parameters
Name | Type | Description |
---|---|---|
timezoneLocation | string | A string representing the timezone location |
options? | SendOptions | An optional object of web3.eth.Contract SendOptions |
onConfirmation? | ConfirmationHandler | An optional confirmation handler object |
Returns
Promise
<TransactionReceipt
>
a Promise<TransactionReceipt> that resolves to a TransactionReceipt object representing the receipt of the transaction
Defined in
rocketpool/node/node.ts:393
setWithdrawalAddress
▸ setWithdrawalAddress(nodeAddress
, withdrawalAddress
, confirm
, options?
, onConfirmation?
): Promise
<TransactionReceipt
>
Set a node's withdrawal address
example
using Typescript
const nodeAddress = "0x24fBeD7Ecd625D3f0FD19a6c9113DEd436172294";
const withdrawalAddress = "0x89205A3A3b2A69De6Dbf7f01ED13B2108B2c43e7";
const confirm = false; // will set the withdrawalAddress to pending
const options = {
from: nodeAddress,
gas: 1000000
}
const txReceipt = rp.node.setWithdrawalAddress(nodeAddress, withdrawalAddress, confirm, options).then((txReceipt: TransactionReceipt) => { txReceipt };
Parameters
Name | Type | Description |
---|---|---|
nodeAddress | string | A string representing the node's address |
withdrawalAddress | string | A string representing the withdrawalAddress |
confirm | boolean | A boolean representing as to whether you which to auto confirm, true will auto confirm (negating the need to prove your ownership of the withdrawal address), false will set the withdrawal address to pending and will require an additional transaction (see confirmWithdrawalAddress) signed by the withdrawalAddress to prove ownership. |
options? | SendOptions | An optional object of web3.eth.Contract SendOptions |
onConfirmation? | ConfirmationHandler | An optional confirmation handler object |
Returns
Promise
<TransactionReceipt
>
a Promise<TransactionReceipt> that resolves to a TransactionReceipt object representing the receipt of the transaction
Defined in
rocketpool/node/node.ts:422
stakeRPL
▸ stakeRPL(amount
, options?
, onConfirmation?
): Promise
<TransactionReceipt
>
Stake RPL for a node address
example
using Typescript
const amount = web3.utils.toWei("5000", "ether");
const nodeAddress = "0x24fBeD7Ecd625D3f0FD19a6c9113DEd436172294";
const options = {
from: nodeAddress,
gas: 1000000
}
const txReceipt = rp.node.stakeRPL(nodeAddress, options).then((txReceipt: TransactionReceipt) => { txReceipt };
Parameters
Name | Type | Description |
---|---|---|
amount | string | A string representing the amount in Wei |
options? | SendOptions | An optional object of web3.eth.Contract SendOptions |
onConfirmation? | ConfirmationHandler | An optional confirmation handler object |
Returns
Promise
<TransactionReceipt
>
a Promise<TransactionReceipt> that resolves to a TransactionReceipt object representing the receipt of the transaction
Defined in
rocketpool/node/node.ts:452
confirmWithdrawalAddress
▸ confirmWithdrawalAddress(nodeAddress
, options?
, onConfirmation?
): Promise
<TransactionReceipt
>
Confirm a node's withdrawal address
example
using Typescript
const nodeAddress = "0x24fBeD7Ecd625D3f0FD19a6c9113DEd436172294";
const withdrawalAddress = "0x89205A3A3b2A69De6Dbf7f01ED13B2108B2c43e7";
const options = {
from: withdrawalAddress,
gas: 1000000
}
const txReceipt = rp.node.confirmWithdrawalAddress(nodeAddress, options).then((txReceipt: TransactionReceipt) => { txReceipt };
Parameters
Name | Type | Description |
---|---|---|
nodeAddress | string | A string representing the node's address |
options? | SendOptions | An optional object of web3.eth.Contract SendOptions |
onConfirmation? | ConfirmationHandler | An optional confirmation handler object |
Returns
Promise
<TransactionReceipt
>
a Promise<TransactionReceipt> that resolves to a TransactionReceipt object representing the receipt of the transaction
Defined in
rocketpool/node/node.ts:476
withdrawRPL
▸ withdrawRPL(amount
, options?
, onConfirmation?
): Promise
<TransactionReceipt
>
Withdraw RPL for a node address
example
using Typescript
const amount = web3.utils.toWei("5000", "ether");
const nodeAddress = "0x24fBeD7Ecd625D3f0FD19a6c9113DEd436172294";
const options = {
from: nodeAddress,
gas: 1000000
}
const txReceipt = rp.node.withdrawRPL(nodeAddress, options).then((txReceipt: TransactionReceipt) => { txReceipt };
Parameters
Name | Type | Description |
---|---|---|
amount | string | A string representing the amount in Wei |
options? | SendOptions | An optional object of web3.eth.Contract SendOptions |
onConfirmation? | ConfirmationHandler | An optional confirmation handler object |
Returns
Promise
<TransactionReceipt
>
a Promise<TransactionReceipt> that resolves to a TransactionReceipt object representing the receipt of the transaction
Defined in
rocketpool/node/node.ts:500
setTimezoneLocation
▸ setTimezoneLocation(timezoneLocation
, options?
, onConfirmation?
): Promise
<TransactionReceipt
>
Set the node's timezone location
example
using Typescript
const timezoneLocation = "Brisbane/Australia";
const nodeAddress = "0x24fBeD7Ecd625D3f0FD19a6c9113DEd436172294";
const options = {
from: nodeAddress,
gas: 1000000
}
const txReceipt = rp.node.setTimezoneLocation(nodeAddress, options).then((txReceipt: TransactionReceipt) => { txReceipt };
Parameters
Name | Type | Description |
---|---|---|
timezoneLocation | string | A string representing the timezone location |
options? | SendOptions | An optional object of web3.eth.Contract SendOptions |
onConfirmation? | ConfirmationHandler | An optional confirmation handler object |
Returns
Promise
<TransactionReceipt
>
a Promise<TransactionReceipt> that resolves to a TransactionReceipt object representing the receipt of the transaction
Defined in
rocketpool/node/node.ts:524
deposit
▸ deposit(minimumNodeFee
, validatorPubKey
, validatorSignature
, depositDataRoot
, salt
, expectedMinipoolAddress
, options?
, onConfirmation?
): Promise
<TransactionReceipt
>
Make a node deposit
example
using Typescript
const minimumNodeFee = web3.utils.toWei("0", "ether");
const nodeAddress = "0x24fBeD7Ecd625D3f0FD19a6c9113DEd436172294";
const options = {
from: nodeAddress,
gas: 1000000
}
const txReceipt = rp.node.deposit(minimumNodeFee, depositData.pubkey, depositData.signature, depositDataRoot, salt, minipoolAddress, options).then((txReceipt: TransactionReceipt) => { txReceipt };
Parameters
Name | Type | Description |
---|---|---|
minimumNodeFee | string | A string representing the minimumNodeFee in Wei |
validatorPubKey | Buffer | A buffer representing the validator pub key |
validatorSignature | Buffer | A buffer representing the validator signature |
depositDataRoot | Buffer | A buffer representing the deposit data root |
salt | number | A number representing the salt |
expectedMinipoolAddress | string | A string representing the expected minipool address |
options? | SendOptions | An optional object of web3.eth.Contract SendOptions |
onConfirmation? | ConfirmationHandler | An optional confirmation handler object |
Returns
Promise
<TransactionReceipt
>
a Promise<TransactionReceipt> that resolves to a TransactionReceipt object representing the receipt of the transaction
Defined in
rocketpool/node/node.ts:553