user2312: I am trying to write a smart contract where I can get the awards for delegators of a particular stake pool. I need to know if that is right now possible to do using Plutus, if yes, pls suggest me.

user1130: Okay. I think you are asking a couple different questions:

Is there any keyword to get the epoch details or stake-pool details in Plutus Smart Contract?

It really depends on what information you need. There are ways for a script to validate certain information about an epoch, e.g. check that the current slot is within a defined epoch.
For example, to check if you are past a deadline in a validator:
from slot `contains` posixTimeRangeToSlotRange (txInfoValidRange (scriptContextTxInfo ctx))

will return True if the transaction takes place after a specified slot. And there are ways to convert an epoch to a slot.
There is also limited staking information in the transaction context.


I am trying to write a smart contract where I can get the awards for delegators of a particular stake pool. I need to know if that is right now possible to do using Plutus

A smart contract can't withdraw awards on behalf of other delegators. The awarded ADA will be only be withdrawable by the wallets that have delegated the funds.
However, it is possible for a script to delegate its own funds. So, depending on the behavior you want, you could have a smart contract delegate on behalf of other delegators and get a similar behavior.
Hope that helps :)

2312: <p>I am trying to write a smart contract where I can get the awards for delegators of a particular stake pool. I need to know if that is right now possible to do using Plutus, if yes, pls suggest me.</p>
 1130: <p>Okay. I think you are asking a couple different questions:</p>
<blockquote>
<p>Is there any keyword to get the epoch details or stake-pool details in Plutus Smart Contract?</p>
</blockquote>
<p>It really depends on what information you need. There are ways for a script to validate certain information about an epoch, e.g. check that the current slot is within a defined epoch.</p>
<p>For example, to check if you are past a deadline in a validator:</p>
<pre><code>from slot `contains` posixTimeRangeToSlotRange (txInfoValidRange (scriptContextTxInfo ctx))
</code></pre>
<p>will return <code>True</code> if the transaction takes place after a specified <code>slot</code>. And there are ways to convert an epoch to a slot.</p>
<p>There is also limited staking information in the <a href="https://github.com/input-output-hk/plutus/blob/master/plutus-ledger-api/src/Plutus/V1/Ledger/Contexts.hs#L118" rel="nofollow noreferrer">transaction context</a>.</p>
<hr />
<blockquote>
<p>I am trying to write a smart contract where I can get the awards for delegators of a particular stake pool. I need to know if that is right now possible to do using Plutus</p>
</blockquote>
<p>A smart contract can't withdraw awards on behalf of other delegators. The awarded ADA will be only be withdrawable by the wallets that have delegated the funds.</p>
<p>However, it is possible for a script to delegate its own funds. So, depending on the behavior you want, you could have a smart contract <em>delegate</em> on behalf of other delegators and get a similar behavior.</p>
<p>Hope that helps :)</p>
