LogoLogo
SDKAPI
Version-v1.3
Version-v1.3
  • 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
    • 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
      • The OBOL Token
      • Delegate Guide
      • RAF1 Guide
      • Grants Program
        • How to create a proposal in Questbook?
        • Grant Track for Boosting Obol DV Adoption
        • Grant Track for Strengthening the Collective: Operators & Community Growth
        • Grant Track for Establishing OBOL Token’s Role in DeFi & Governance
    • 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

Was this helpful?

Edit on GitHub
  1. SDK
  2. Classes

Client

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

Extends

  • Base

Constructors

new Client()

new Client(config, signer?): Client

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

Client

Obol-SDK Client instance

An example of how to instantiate obol-sdk Client:obolClient

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.

An example of how to use acceptObolLatestTermsAndConditions:acceptObolLatestTermsAndConditions

Defined in

index.ts:79


createObolRewardsSplit()

createObolRewardsSplit(rewardsSplitPayload): Promise<ClusterValidator>

Deploys OWR and Splitter Proxy.

Parameters

Parameter
Type
Description

rewardsSplitPayload

Data needed to deploy owr and splitter.

Returns

Promise<ClusterValidator>

owr address as withdrawal address and splitter as fee recipient

An example of how to use createObolRewardsSplit:createObolRewardsSplit

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()

createObolTotalSplit(totalSplitPayload): Promise<ClusterValidator>

Deploys Splitter Proxy.

Parameters

Parameter
Type
Description

totalSplitPayload

Data needed to deploy splitter if it doesnt exist.

Returns

Promise<ClusterValidator>

splitter address as withdrawal address and splitter as fee recipient too

An example of how to use createObolTotalSplit:createObolTotalSplit

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.

An example of how to use createClusterDefinition:createObolCluster

Defined in

index.ts:350


acceptClusterDefinition()

acceptClusterDefinition(operatorPayload, configHash): Promise<ClusterDefinition>

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

Promise<ClusterDefinition>

The cluster definition.

Throws

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

An example of how to use acceptClusterDefinition:acceptClusterDefinition

Defined in

index.ts:415


getClusterDefinition()

getClusterDefinition(configHash): Promise<ClusterDefinition>

Parameters

Parameter
Type
Description

configHash

string

The configuration hash returned in createClusterDefinition

Returns

Promise<ClusterDefinition>

The cluster definition for config hash

Throws

On not found config hash.

An example of how to use getClusterDefinition:getObolClusterDefinition

Defined in

index.ts:469


getClusterLock()

getClusterLock(configHash): Promise<ClusterLock>

Parameters

Parameter
Type
Description

configHash

string

The configuration hash in cluster-definition

Returns

Promise<ClusterLock>

The matched cluster details (lock) from DB

Throws

On not found cluster definition or lock.

An example of how to use getClusterLock:getObolClusterLock

Defined in

index.ts:488

PreviousClassesNextInterfaces

Last updated 2 months ago

Was this helpful?

RewardsSplitPayload
TotalSplitPayload
ClusterPayload
OperatorPayload