当前位置: 首页 > news >正文

果蔬网站规划建设方案延安微网站建设

果蔬网站规划建设方案,延安微网站建设,服务公司注册资金多少合适,长春模板自助建站为什么使用Path Manifests#xff1f; 当在 IPFS 上发布 NFT 时#xff0c;图片和元数据会被上传到 IPFS 网络以获得一个根 CID#xff0c;其形式如下#xff1a; ipfs://bafybeic36ik6cngu37xbzmpytuvyo7z3lyeen44clkkxq5d263zj4nkzr4 通过使用这个根 CID#xff0c;每…为什么使用Path Manifests 当在 IPFS 上发布 NFT 时图片和元数据会被上传到 IPFS 网络以获得一个根 CID其形式如下 ipfs://bafybeic36ik6cngu37xbzmpytuvyo7z3lyeen44clkkxq5d263zj4nkzr4 通过使用这个根 CID每个 NFT 的图片路径可以按照 root cid/file name的格式来定义。例如一个 NFT 的元数据中的图片路径可能如下所示 ipfs://bafybeie7byrnb3vo2lc2lwaqm5lox6jiow5ntzod3aoquki36gtirdhodm/0.png 同样的如果我们想在Arweave 上发布NFT,可以使用 Path Manifets 来集合NFT,这样也可以通过路径方式来访问NFT. 例如 https://arweave.net/Bgw5-GwpymUoe5VMeb-No9WWXpjWsq_8g4oeiGP5RnA/0.png 而不是通过每一张图片在 arweave 上的 ID 来访问它 ​​​​​​https://arweave.net/ISvPQyG8qWzJ1Pv5em5xK8Ht38HZ3ub1fPHbFEqDPK0 如何创建NFT 下面讲解如何使用 4EVERLAND Bucket Path Manifests 将NFT文件存储到Arweave网络中。 创建Bucket并上传NFT 文件 首先需要在4everland dashboard 创建一个bucket 并开启Sync to AR 按钮 然后在Bucket中将您的nft文件夹上传获取所有nft的TxID,除了在dashboard中手动操作外您也可以使用 S3 Compatible API 上传获取。 Init S3 client // initS3Client.js import { S3 } from aws-sdk/client-s3 export const client new S3({endpoint: https://endpoint.4everland.co,credentials:{accessKeyId: ,secretAccessKey: ,sessionToken: ,},forcePathStyle: false,region: eu-west-2 })批量上传NFT   import { Upload } from aws-sdk/lib-storage import { clinet } from ./initS3Client.js let files [] // File Arrary let Bucket NFT_Bucket files.forEach(aysnc(file) {try{const task new Upload({client,Bucket,Key: YOUR_folder / file.name,Body: file,ContentType: file.type})await task.done()}catch(error){console.log(error)} })// 同步到AR需要时间可以等待几分钟后获取 AR Hash(Tx ID) list:let arHashPath {} files.forEach(aysnc(file) {try{const data await client.headObject({Bucket,Key: YOUR_folder / file.name,})const meta data.Metadata;arHashPath[file.name] {id: meta[arweave-hash] ?? }}catch(error){console.log(error)} }) 生成图片的Manifests ID 获取到每张NFT的TxID后按照Path Manifests 标准集合成如下json文件标准详情可以参考官方说明 //manifest-files.json {manifest: arweave/paths,version: 0.1.0,paths: {01.jpeg: {id: ItVxP8RILEsBjTObeO_piBUME31mj9fa8XJ00v_A94o},02.jpeg: {id: eiCwWO60Qd8J6wz1ndB82jNgSDotAC8peN38ZAVonl4},03.jpeg: {id: YUHwbOdf2sSKdGps03qH9LJHX4caYKM5_BOdBpMXOxc},04.jpeg: {id: kD8Eft7JP82_u9whX710vzsSntn_WP07TgrSB2bGEso},05.jpeg: {id: KSeYJwZORk3BzelAazsmd6laGAAugHPMqHoXTZ0V4BE}} } 然后将此manifest-files.json文件也上传到bucket需要规定 Content-Type tag 为 application/x.arweave-manifestjson获取此文件的ArHash 作为图片的 Manifest ID let manifestFile {manifest: arweave/paths,version: 0.1.0,paths: arHashPath }let blob new Blob([JSON.stringify(manifestFile)], {type: application/json, }); async function upload(){try{const task new Upload({client,Bucket,Key: YOUR_folder / manifest-files.json,Body: blob,ContentType: application/x.arweave-manifestjson})await task.done()}catch(error){console.log(error)} } // 上传 await upload()async function getMainfestArHash(){try{const data await client.headObject({Bucket,Key: YOUR_folder / manifest-files.json,})const meta data.Metadata;if (meta) {return meta[arweave-hash];}return ;}catch(error){console.log(error)} } // 同步到AR需要时间可以等待几分钟后执行 const arHash await getMainfestArHash() console.log(arHash) 获取到TxID 为 udKzWCDO2PFvxHjiTRhNXuDslsE4jiKlu9A2gY1b1WE 小窍门如果你的图片很多可以巧用4EVERLAND Hosting 模块来生成manifest ID。 在bucket中选中您的NFT 文件夹点击‘Snapshot并切换到snapshot列表对文件夹进行publish。 复制snapshot中的ipfs cid进入hosting页面在‘IPFS Deploy中输入CID部署 部署平台选择Arweave部署成功后的AR Hash 便是这些图片的ManifestID 使用Manifests ID 为每张NFT 创建metadata 为每张nft生成metadata.json,以01.jpeg为例如下 //文件名0 {name: nft-ocean,attributes: [{trait_type: tokenID,value: 0}],description: nft-ocean image,//填入图片的ManifestID /文件名 image: ar://QmZ3Y31SwLU77CDfBoL5MphuSmrv414d2ZyunVcbNAJQRQ/01.jpeg } 参考上面上传图片的步骤将每张nft的metadata.json文件以TokenID 命名后上传到bucket并将获取到的TxIDs再次集合生成一个Manifest格式的json 文件。 {manifest:arweave/paths,version:0.1.0,paths:{0:{id:JcFZfJEJrDKudQsRfN2JnsBPUQTynk0i5XfUqCBcERw},1:{id:vEUOeIky5hv2GlD2SP2d9TYAua2pkxYxehOczqTGqfU},2:{id:hd6bI2-c0gr-9ZZsoO8jn_CTRFqWIRwRj5WckgfbmEY},3:{id:PVAOd8D2JGCW5oOf4bulbQn2npcaaDAexY8sJKzZiEU},4:{id:lT4RbJEIGsqwwEZB0gxeT1x0nov40crEtBWDHgKQx80}} } 将此 manifest-metadata.json 文件上传bucket,并注明content type 为application/x.arweave-manifestjson获取此文件的ArHash (TxID),此 ID 便是最终需要设置在合约里面的BaseURI。 本案例获取到的TxID为2svkHmAC3So_M-LUtDlcDeqPZEwSZsY64AB9L8cA-Uk 将NFT部署到合约 具体步骤请参考 NFT 合约部署教程 前面步骤完全一致到‘准备资源步骤时跳过直接到设置BaseURI步骤。 我们需要将上面NFT metadata 生成的Manifest ID 写入到BaseURI 中。 setBaseURI.js require(dotenv).config() const hre require(hardhat); const PRIVATE_KEY process.env.PRIVATE_KEY const NETWORK process.env.NETWORK const API_KEY process.env.API_KEYconst provider new hre.ethers.providers.InfuraProvider(NETWORK, API_KEY); //编译完成合约会自动生成 const abi require(../artifacts/contracts/NFT_WEB3_EXPLORER.sol/NFT_WEB3_EXPLORER.json).abi const contractAddress 合约地址 const contract new hre.ethers.Contract(contractAddress, abi, provider) const wallet new hre.ethers.Wallet(PRIVATE_KEY, provider) const baseURI ar://2svkHmAC3So_M-LUtDlcDeqPZEwSZsY64AB9L8cA-Uk/ //metadata 的Manifest IDasync function main() {const contractWithSigner contract.connect(wallet);//调用setBaseURI方法const tx await contractWithSigner.setBaseURI(baseURI)console.log(tx.hash);await tx.wait();console.log(setBaseURL success); }main().then(() process.exit(0)).catch((error) {console.error(error);process.exit(1);}); 后续步骤与教程一致完成mint后到opensea 查看。
http://www.sadfv.cn/news/30718/

相关文章:

  • 中国智慧城市建设门户网站运维工程师
  • 网站开发登录要做哪些验证河南郑州网站关键词排名助手
  • wordpress 分隔符 sp网站维护优化
  • 兰州网站优化服务王野天演员
  • 网站产品链接怎么做上海国外网站建设
  • 深圳龙岗淘宝网站建设公司有哪些铁道部售票网站多少钱建设
  • 手机模板网站wordpress edu 2.0
  • 网站编程是什么意思往网站上做新东西需要什么
  • 有没有做卡哇伊的企业网站深圳画册设计龙华
  • 广州哪家公司做网站好什么是自主设计网站
  • 个人博客网站制作搭建任县网站建设
  • 亳州建设机械网站什么都能看的浏览器
  • 湖南营销网站建设设计最好看的WordPress 音乐播放器
  • 徐州做网站最好的公司十大erp系统
  • 象山县城乡建设局网站网站软文标题
  • 网站设计 广州门户网站建设的成果
  • 深圳极速网站建设服务天津企业网站建设开发维护
  • 网站建设上传文件chmod wordpress
  • 做家乡网站源代码营销型网站的基本模板
  • 英国男女做那个视频网站交易类网站建设功能表
  • 学校门户网站作用wordpress多文章
  • 深圳网站制作公司平台国内国际时事图片
  • 网站建设与管理试题一自媒体视频发布平台
  • wap网站开发用什么语言wordpress 站点图标
  • 东莞网站优化流程网页制作师培训机构
  • 男女生做恶心的网站沧州商贸行业网站建设
  • 商务网站开发方式怎么制作网页图片
  • 关键词做网站标题是什么意思做微商能利用的网站有哪些问题
  • 中国建设银行网站签名通下载临沂网站临沂网站制作
  • 可以做很多个网站然后哭推广杭州圣玛丁服装设计学校学费