0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Staking Collection

Last updated at Posted at 2024-12-27

Previous << NFT Storefront
Next >> Account Linking

Contract

FlowStakingCollectionコントラクトは、ユーザーのステーキングとデリゲーションオブジェクトを含むリソースを管理するスマートコントラクトです。

FlowStakingCollectionは、ユーザーが複数のアクティブなノードまたは委任者を管理することを可能にし、任意でロックされたアカウントの中、又は(メインアカウントに保存された)StakingCollection自体の中(どちらか)に保存された、ノードや委任者オブジェクトとやりとりすることを可能にします。ユーザーがトークンをロックしている場合、StakingCollectionは、ユーザーがロックされたトークンとやりとりし、ノードまたは委任者のいずれかに対してステーキングアクションを実行することを可能にします。

ステーキングコレクションは、それがコレクターやコンセンサスノードを持つ場合、ノードのマシンアカウントの作成も管理します。また、ステーキングコレクションを通じて、マシンアカウントからトークンの預け入れや引き出しを行うこともできます。

ステーキングコレクションコントラクトの設計に関する詳細は、ステーキングコレクションのドキュメントを参照してください。

Source: FlowStakingCollection.cdc

Network Contract Address
Emulator 0xf8d6e0586b0a20c7
Cadence Testing Framework 0x0000000000000001
Testnet 0x95e019a17d0e23d7
Mainnet 0x8d0e87b65159ae63

Transactions

StakingCollectionとやり取りするには、以下のトランザクションを使用します。

_Note: StakingCollectionは、任意のDelegatorID引数を渡すことで、ステーキングと委任リクエストを区別します。例えば、もしあなたがアクティブなノードに対して新規トークンのステーキングを行う場合は、オプションのDelegatorID引数としてnilをStake New Tokens トランザクションに渡します。他のすべてのステーキング操作のトランザクションについても同様です。

ID Name Source
SCO.01 Setup Staking Collection stakingCollection/setup_staking_collection.cdc
SCO.02 Register Delegator stakingCollection/register_delegator.cdc
SCO.03 Register Node stakingCollection/register_node.cdc
SCO.04 Create Machine Account stakingCollection/create_machine_account.cdc
SCO.05 Request Unstaking stakingCollection/request_unstaking.cdc
SCO.06 Stake New Tokens stakingCollection/stake_new_tokens.cdc
SCO.07 Stake Rewarded Tokens stakingCollection/stake_rewarded_tokens.cdc
SCO.08 Stake Unstaked Tokens stakingCollection/stake_unstaked_tokens.cdc
SCO.09 Unstake All stakingCollection/unstake_all.cdc
SCO.10 Withdraw Rewarded Tokens stakingCollection/withdraw_rewarded_tokens.cdc
SCO.11 Withdraw Unstaked Tokens stakingCollection/withdraw_unstaked_tokens.cdc
SCO.12 Close Stake stakingCollection/close_stake.cdc
SCO.13 Transfer Node stakingCollection/transfer_node.cdc
SCO.14 Transfer Delegator stakingCollection/transfer_delegator.cdc
SCO.15 Withdraw From Machine Account stakingCollection/withdraw_from_machine_account.cdc
SCO.22 Update Networking Address stakingCollection/update_networking_address.cdc

Scripts

ID Name Source
SCO.16 Get All Delegator Info stakingCollection/scripts/get_all_delegator_info.cdc
SCO.15 Get All Node Info stakingCollection/scripts/get_all_node_info.cdc
SCO.22 Get Delegator Ids stakingCollection/scripts/get_delegator_ids.cdc
SCO.17 Get Node Ids stakingCollection/scripts/get_node_ids.cdc
SCO.18 Get Does Stake Exist stakingCollection/scripts/get_does_stake_exist.cdc
SCO.19 Get Locked Tokens Used stakingCollection/scripts/get_locked_tokens_used.cdc
SCO.20 Get Unlocked Tokens Used stakingCollection/scripts/get_unlocked_tokens_used.cdc
SCO.21 Get Machine Accounts stakingCollection/scripts/get_machine_accounts.cdc

Setup Transaction

アカウントにステーキングコレクション(Staking Collection)を設定するには、SC.01 トランザクションを使用します。

セットアップ過程では、メインアカウントのストレージの中に保存されているノードやdelegatorレコードが検索されます。また、関連するロックされたアカウントが存在する場合、そのアカウントのノードやdelegatorレコードについても検索されます。それは、これらのノードや委任者レコードを新しいステーキングコレクション(Staking Collection)に接続し、ステーキングコレクションAPIを使用することでそれらを相互にやり取りできるようにします。

Events

StakingCollectionコントラクトは、重要なアクションが発生するたびにイベントを発行します。

    access(all) event NodeAddedToStakingCollection(nodeID: String, role: UInt8, amountCommitted: UFix64, address: Address?)
    access(all) event DelegatorAddedToStakingCollection(nodeID: String, delegatorID: UInt32, amountCommitted: UFix64, address: Address?)

    access(all) event NodeRemovedFromStakingCollection(nodeID: String, role: UInt8, address: Address?)
    access(all) event DelegatorRemovedFromStakingCollection(nodeID: String, delegatorID: UInt32, address: Address?)

    access(all) event MachineAccountCreated(nodeID: String, role: UInt8, address: Address)

Last updated on Dec 17, 2024 by j pimmel

翻訳元


Previous << NFT Storefront

Flow BlockchainのCadence version1.0ドキュメント (Staking Collection)

Next >> Account Linking

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?