<p>No, it's not possible at the moment.</p>
<p>I have found this commit of the <code>cardano-multiplatform-lib</code> that starts giving some support for these kind of tasks related to generating different types of certificates (stake pool ones included):</p>
<p><a href="https://github.com/dcSpark/cardano-multiplatform-lib/commit/d9ec0ce32136deda2a497dd1c04e6dce8932ba5a" rel="nofollow noreferrer">https://github.com/dcSpark/cardano-multiplatform-lib/commit/d9ec0ce32136deda2a497dd1c04e6dce8932ba5a</a></p>
<p>The PR is in progress yet. We will need to wait a little more for dcSpark team, in order to have full support for this feature.</p>
<p>In the meanwhile, I suggest using <a href="https://github.com/shareslake/cardanocli-js" rel="nofollow noreferrer"><code>cardanocli-js</code></a> to generate stake pool certificates.</p>
<p>Like this:</p>
<pre><code>const CardanocliJs = require(&quot;cardanocli-js&quot;);

const shelleyGenesisPath = &quot;/path/to/your/testnet-shelley-genesis.json&quot;;
const options = {
  shelleyGenesisPath,
  network: &quot;testnet-magic 1097911063&quot;
};

const cardanocliJs = new CardanocliJs(options);

const nodeKeyGenKES = cardanocliJs.nodeKeyGenKES(stakePoolName);
const nodeKeyGen = cardanocliJs.nodeKeyGen(stakePoolName);
const nodeOperationalCert = cardanocliJs.nodeIssueOpCert(stakePoolName);
const vrfKeyAccount = cardanocliJs.nodeKeyGenVRF(stakePoolName);
</code></pre>

CC BY-SA 4.0
2022-04-13T23:40:21.710Z
2022-06-01T00:02:03.607Z
2022-06-01T00:02:03.607Z
Falcon Stakepool
<p>Check out this link about generating keys:
<a href="https://developers.cardano.org/docs/get-started/cardano-serialization-lib/generating-keys" rel="nofollow noreferrer">https://developers.cardano.org/docs/get-started/cardano-serialization-lib/generating-keys</a></p>

CC BY-SA 4.0
2022-04-13T15:28:19.557Z
2022-04-13T15:28:19.557Z
Will
<p>To successfully create and register a stake pool, we are require to generate:</p>
<ul>
<li>Payment keys and address</li>
<li>Stake keys and address</li>
<li>Stake pool cold key</li>
<li>Stake pool hot key</li>
<li>Stake pool VRF key</li>
<li>Stake pool operational certificate</li>
</ul>
<p>We can do all this using <code>cardano-cli</code>.</p>
<p>Is it possible to do it using <a href="https://github.com/Emurgo/cardano-serialization-lib" rel="nofollow noreferrer">https://github.com/Emurgo/cardano-serialization-lib</a> as well?</p>

<cardano-cli><stake-pool><cardano-serialization-lib><cardano-address>
Is it possible to generate all stake pool files and keys using Cardano Serialization Lib?
# Is it possible to generate all stake pool files and keys using Cardano Serialization Lib?

(Asked by: username_0 on 2022-04-12)

To successfully create and register a stake pool, we are require to generate:

* Payment keys and address
* Stake keys and address
* Stake pool cold key
* Stake pool hot key
* Stake pool VRF key
* Stake pool operational certificate

We can do all this using `cardano-cli`.

Is it possible to do it using <https://github.com/Emurgo/cardano-serialization-lib> as well?

**Tags:** cardano-cli, stake-pool, cardano-serialization-lib, cardano-address

---

## 2 answers

### Answer by username_0 on 2022-04-13. Score: 0 | Accepted answer

No, it's not possible at the moment.
I have found this commit of the cardano-multiplatform-lib that starts giving some support for these kind of tasks related to generating different types of certificates (stake pool ones included):
https://github.com/dcSpark/cardano-multiplatform-lib/commit/d9ec0ce32136deda2a497dd1c04e6dce8932ba5a
The PR is in progress yet. We will need to wait a little more for dcSpark team, in order to have full support for this feature.
In the meanwhile, I suggest using cardanocli-js to generate stake pool certificates.
Like this:
const CardanocliJs = require("cardanocli-js");

const shelleyGenesisPath = "/path/to/your/testnet-shelley-genesis.json";
const options = {
  shelleyGenesisPath,
  network: "testnet-magic 1097911063"
};

const cardanocliJs = new CardanocliJs(options);

const nodeKeyGenKES = cardanocliJs.nodeKeyGenKES(stakePoolName);
const nodeKeyGen = cardanocliJs.nodeKeyGen(stakePoolName);
const nodeOperationalCert = cardanocliJs.nodeIssueOpCert(stakePoolName);
const vrfKeyAccount = cardanocliJs.nodeKeyGenVRF(stakePoolName);


---

### Answer by username_1 on 2022-04-13. Score: 2

Check out this link about generating keys:
<https://developers.cardano.org/docs/get-started/cardano-serialization-lib/generating-keys>


---

