LogoLogo
SDKAPI
Version-v1.4.0 (current)
Version-v1.4.0 (current)
  • Learn
    • Introduction
      • Obol Collective
      • OBOL Incentives
      • Key Staking Concepts
      • Obol vs Other DV Implementations
      • Obol Splits
      • DV Launchpad
      • Frequently Asked Questions
    • Charon
      • Introduction to Charon
      • Distributed Key Generation
      • Cluster Configuration
      • Charon Networking
      • CLI Reference
    • Futher Reading
      • Ethereum and Its Relationship With DVT
      • Community Testing
      • Peer Score
      • Useful Links
  • Run a DV
    • Quickstart
      • Quickstart Overview
      • Create a DV Alone
      • Create a DV With a Group
      • Push Metrics to Obol Monitoring
    • Prepare to Run a DV
      • How and Where To Run DVs
      • Deployment Best Practices
      • Test a Cluster
    • Running a DV
      • Activate a DV
      • Update a DV
      • Monitoring Your Node
      • Claim Rewards
      • Exit a DV
    • Partner Integrations
      • Create an EigenLayer DV
      • Create a Lido CSM DV
      • DappNode
  • Advanced & Troubleshooting
    • Advanced Guides
      • Create a DV Using the SDK
      • Migrate an Existing Validator
      • Enable MEV
      • Combine DV Private Key Shares
      • Self-Host a Relay
      • Advanced Docker Configs
      • Beacon node authentication
    • Troubleshooting
      • Errors & Resolutions
      • Handling DKG Failure
      • Client Configuration
      • Test Commands
    • Security
      • Overview
      • Centralization Risks and Mitigation
      • Obol Bug Bounty Program
      • Smart Contract Audit
      • Software Development at Obol
      • Charon Threat Model
      • Contacts
  • Community & Governance
    • Governance
      • Collective Overview
      • The Token House
      • The RAF
      • Delegate Guide
      • RAF1 Guide
    • The OBOL Token
      • Token Utility
      • Token Distribution & Liquidity
      • TGE FAQ
    • Community
      • Staking Mastery Program
      • Techne
    • Contribution & Feedback
      • Filing a Bug Report
      • Documentation Standards
      • Feedback
  • Walkthrough Guides
    • Walkthroughs
      • Walkthrough Guides
  • SDK
    • Intro
    • Enumerations
      • FORK_MAPPING
    • Classes
      • Client
    • Interfaces
      • ClusterDefinition
      • RewardsSplitPayload
    • Type-Aliases
      • BuilderRegistration
      • BuilderRegistrationMessage
      • ClusterCreator
      • ClusterLock
      • ClusterOperator
      • ClusterPayload
      • ClusterValidator
      • DepositData
      • DistributedValidator
      • ETH_ADDRESS
      • OperatorPayload
      • SplitRecipient
      • TotalSplitPayload
    • Functions
      • validateClusterLock
  • API
    • What is this API?
    • System
    • Metrics
    • Cluster Definition
    • Cluster Lock
    • State
    • DV Exit
    • Cluster Effectiveness
    • Terms And Conditions
    • Techne Credentials
    • Address
    • OWR Information
  • Specification
Powered by GitBook
On this page
  • Extends
  • Constructors
  • Methods
Edit on GitHub
  1. SDK
  2. Classes

Client

PreviousClassesNextInterfaces

Last updated 5 days ago

Obol sdk Client can be used for creating, managing and activating distributed validators.

Extends

  • Base

Constructors

new Client()

new Client(config, signer?):

Parameters

Parameter
Type
Description

config

object

Client configurations

config.baseUrl?

string

obol-api url

config.chainId?

number

Blockchain network ID

signer?

Signer

ethersJS Signer

Returns

Obol-SDK Client instance

An example of how to instantiate obol-sdk Client:

Overrides

Base.constructor

Defined in

index.ts:66

Methods

acceptObolLatestTermsAndConditions()

acceptObolLatestTermsAndConditions(): Promise<string>

Accepts Obol terms and conditions to be able to create or update data.

Returns

Promise<string>

terms and conditions acceptance success message.

Throws

On unverified signature or wrong hash.

Defined in

index.ts:79


createObolRewardsSplit()

Deploys OWR and Splitter Proxy.

Parameters

Parameter
Type
Description

rewardsSplitPayload

Data needed to deploy owr and splitter.

Returns

owr address as withdrawal address and splitter as fee recipient

Remarks

⚠️ Important: If you're storing the private key in an .env file, ensure it is securely managed and not pushed to version control.

Defined in

index.ts:133


createObolTotalSplit()

Deploys Splitter Proxy.

Parameters

Parameter
Type
Description

totalSplitPayload

Data needed to deploy splitter if it doesnt exist.

Returns

splitter address as withdrawal address and splitter as fee recipient too

Remarks

⚠️ Important: If you're storing the private key in an .env file, ensure it is securely managed and not pushed to version control.

Defined in

index.ts:254


createClusterDefinition()

createClusterDefinition(newCluster): Promise<string>

Creates a cluster definition which contains cluster configuration.

Parameters

Parameter
Type
Description

newCluster

The new unique cluster.

Returns

Promise<string>

config_hash.

Throws

On duplicate entries, missing or wrong cluster keys.

Defined in

index.ts:350


acceptClusterDefinition()

Approves joining a cluster with specific configuration.

Parameters

Parameter
Type
Description

operatorPayload

The operator data including signatures.

configHash

string

The config hash of the cluster which the operator confirms joining to.

Returns

The cluster definition.

Throws

On unauthorized, duplicate entries, missing keys, not found cluster or invalid data.

Defined in

index.ts:415


getClusterDefinition()

Parameters

Parameter
Type
Description

configHash

string

The configuration hash returned in createClusterDefinition

Returns

The cluster definition for config hash

Throws

On not found config hash.

Defined in

index.ts:469


getClusterLock()

Parameters

Parameter
Type
Description

configHash

string

The configuration hash in cluster-definition

Returns

The matched cluster details (lock) from DB

Throws

On not found cluster definition or lock.

Defined in

index.ts:488

An example of how to use acceptObolLatestTermsAndConditions:

createObolRewardsSplit(rewardsSplitPayload): Promise<>

Promise<>

An example of how to use createObolRewardsSplit:

createObolTotalSplit(totalSplitPayload): Promise<>

Promise<>

An example of how to use createObolTotalSplit:

An example of how to use createClusterDefinition:

acceptClusterDefinition(operatorPayload, configHash): Promise<>

Promise<>

An example of how to use acceptClusterDefinition:

getClusterDefinition(configHash): Promise<>

Promise<>

An example of how to use getClusterDefinition:

getClusterLock(configHash): Promise<>

Promise<>

An example of how to use getClusterLock:

Client
Client
obolClient
acceptObolLatestTermsAndConditions
ClusterValidator
ClusterValidator
createObolRewardsSplit
ClusterValidator
ClusterValidator
createObolTotalSplit
createObolCluster
ClusterDefinition
ClusterDefinition
acceptClusterDefinition
ClusterDefinition
ClusterDefinition
getObolClusterDefinition
ClusterLock
ClusterLock
getObolClusterLock
RewardsSplitPayload
TotalSplitPayload
ClusterPayload
OperatorPayload