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 トランザクションに渡します。他のすべてのステーキング操作のトランザクションについても同様です。
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
翻訳元
Flow BlockchainのCadence version1.0ドキュメント (Staking Collection)