mirror of
https://github.com/oceanprotocol/docs.git
synced 2024-11-02 00:05:35 +01:00
2.5 KiB
2.5 KiB
Creating a dataNFT
This tutorial will guide you for creating your own data NFT using Ocean libraries. To know more about data NFT please refer this page.
Configuration
See this guide on defining a .env
file and a configuration file.
Create a script to deploy dataNFT
Create a new file in the same working directory where configuration file (config.py
/config.js
) and .env
files are present, and copy the code as listed below.
{% tabs %} {% tab title="ocean.js" %} {% code title="create_dataNFT.js" %}
// Import dependencies
const { NftFactory } = require('@oceanprotocol/lib');
const Web3 = require('web3');
// Note: Make sure .env file and config.js are created and setup correctly
const { web3Provider, oceanConfig } = require('./config');
const web3 = new Web3(web3Provider);
// Deinfe a function which will create a dataNFT using Ocean.js library
const createDataNFT = async () => {
// Create a NFTFactory
const Factory = new NftFactory(oceanConfig.erc721FactoryAddress, web3);
const accounts = await web3.eth.getAccounts();
const publisherAccount = accounts[0];
// Define dataNFT parameters
const nftParams = {
name: '72120Bundle',
symbol: '72Bundle',
// Optional parameters
templateIndex: 1,
tokenURI: 'https://example.com',
transferable: true,
owner: publisherAccount
};
// Call a Factory.createNFT(...) which will create a new dataNFT
const erc721Address = await Factory.createNFT(
publisherAccount,
nftParams
);
return {
erc721Address
};
};
// Call the create createDataNFT() function
createDataNFT()
.then(({ erc721Address }) => {
console.log(`DataNft address ${erc721Address}`);
process.exit();
})
.catch((err) => {
console.error(err);
process.exit(1);
});
{% endcode %}
Executing script
node create_dataNFT.js
{% endtab %}
{% tab title="ocean.py" %} {% code title="create_dataNFT.py" %}
# Note: Ensure that .env and config.py are correctly setup
from config import web3_wallet, ocean
data_nft = ocean.create_data_nft(
name="NFTToken1",
symbol="NFT1",
from_wallet=web3_wallet,
# Optional parameters
token_uri="https://example.com",
template_index=1,
transferable=True,
owner=web3_wallet.address,
)
print(f"Created dataNFT. Its address is {data_nft.address}")
{% endcode %}
Executing script
python create_dataNFT.py
{% endtab %} {% endtabs %}