Yes, from my understanding, you were trying to store and put your content metadata into the NTTs.
Here is the example that you can take a reference from Tact community
export function buildOnchainMetadata(data: {
name: string;
description: string;
image: string;
}): Cell {
let dict = Dictionary.empty(
Dictionary.Keys.BigUint(256),
Dictionary.Values.Cell()
);
Object.entries(data).forEach(([key, value]) => {
dict.set(toKey(key), makeSnakeCell(Buffer.from(value, "utf8")));
});
return beginCell()
.storeInt(ONCHAIN_CONTENT_PREFIX, 8)
.storeDict(dict)
.endCell();
}
*but I don't get why don't use let rootCell = new Cell()
by the way.