1

Prelude: I have a micro-cardano-pool ,less than 10K include 3 deligators (my friends). Despite the sike of the pool, I would like my pool be an active element in the mainnet network. Therefore I decided to participate in the interesting small-pools cooperative where all participants delegates their stake to a certain pool (from the programm) for several epochs. The number of epochs that allocated to the current active pool is a function of the stake contributed by that pool to the program in the recent past.

Current state : My friends and me delegate our stakes eccording to the program schedule (each one his stake).

Proposal : My proposal is to create a smart contract where few delegators will move their stake to this contract and only one (contract manager) could delegate the whole stake of the smart contract to a certain pool. Every participant (include contract manager) can pull only his part from the contract .

Question : Is it possible to delegate a smart contract’s stake ? What are the alternatives to the above smart contract?

1
  • Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer.
    – Community Bot
    Feb 21, 2022 at 2:54

3 Answers 3

1

If staking rights are being managed by a single trusted entity, then smart contracts are not necessary for your schema. Rather, you can use "franken-addresses", which are addresses built using multiple payment keys, but a single staking key.

In short, you and your peers may generate your own payment key pairs using cardano-cli, cardano-wallet, or whatever derivation path(s) you prefer. Your "staking manager" then generates their staking key-pair using similar methods. Finally, addresses are built with cardano-cli address build for each participant using their payment.vkey and the manager's stake.vkey.

Now, every participant gets their own wallet that they can deposit/withdraw from themselves, while all the wallets' staking rights are controlled by a single keyholder.


Note: if implemented, the cohort must agree on a scheme as to who will be paying fees. As it stands, each wallet will require it's own staking certificate, which costs 2 ADA, plus standard tx-fee costs for delegation/redelegation.

Pro tip: you can save on some tx-fees if you submit the staking certificates all in single transaction.

1
  • On a slightly tangential note, check out the Conclave Paper by IOHK - really cool idea for collective pool management.
    – zhekson
    Feb 22, 2022 at 18:17
0

Yes, a smart contract (script address) can delegate.

An example plutus script address from week 2 in the pioneers course is shown below:

Address {addressCredential = ScriptCredential 67f33146617a5e61936081db3b2117cbf59bd2123748f58ac9678656, addressStakingCredential = Nothing}

Note the parameter addressStakingCredential which allows a script address to be staked against a pool.

0

Check out this article - it's pretty well written and explains the inner workings of how delegation works using Plutus!

Liqwid Labs Stake Validators

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.