Web3 Developer
Share Dialog
Share Dialog
Web3 Developer

Subscribe to yewlne

Subscribe to yewlne
<100 subscribers
<100 subscribers
最近NFT大热,这部分内容趁热给大家,希望能帮助你更加熟悉NFT。
首先我拿Prime Ape Planet (PAP)也叫3D猴,这个NFT来举例说明,合约地址:
Attention Required! | Cloudflare
Completing the CAPTCHA proves you are a human and gives you temporary access to the web property.
首先来看只读方法里面我们常用的几个方法:
baseTokenURI基本是NFT都有的方法,会返回一个NFT属性数据的链接,这个链接是基础链接,部分NFT会省略次方法。比如PAP就没有。
与之对应的就是tokenURI方法了,这个方法大家只要传入tokenId进去,就会返回完整的数据链接。其实就是在baseTokenURI基础上拼接了tokenId,大部分合约都有着两个方法。但是拼接方式可能不太一样。
我们访问这个tokenId为1的属性地址:
可以看到这样的json数据,这就是tokenId为1的猴子的属性信息。有简介、官网地址、图片、名字、属性。
属性里面是个数组,有7种属性。每只猴子的属性都不会完全相同,所以所有的猴子都是这些属性随机生成的结果。
注意因为属性地址是:primeapeplanet.com/metadata/
所以3D猴的属性是中心化存储的,项目方理论上是可以任意去修改你的猴子的属性,因为这个域名的服务器是中心化,数据也在项目方手上。
与之对应,也有一些在IPFS上的例子:
Attention Required! | Cloudflare
这个合约是另一只猴子的合约,我们看tokenURI方法:
你看这里存储的数据开头是ipfs,说明数据都在去中心化存储,这样存储的数据更加去中心化。
这里有的朋友可能会问一个问题,这ipfs的json数据我怎么请求?浏览器好像拿不到数据。正确的办法应该是去:
Ethereum API | IPFS API & Gateway | ETH Nodes as a Service | Infura
注册一个账户,开通一个IPFS的API用接口的方式请求,不过免费API有一定的请求次数限制。
这里我教大家一个小技巧,我们直接用 https://ipfs.io/ipfs/ 拼上后面的 QmT1DRQGNE1D5hPeFAgCR8mAXbDG61dBLeFpMaf8Gg9SA4/1.json 直接访问就可以拿到json数据了,之后类似的方法也可以照猫画虎。
好了,继续看只读方法里面:
totalSupply就是总量的意思,项目的NFT不会超过这个数字。这里要注意一点,有的项目tokenId是从0开始,有的是从1开始。如果从0开始,总量是10000,那么最后一只的tokenIdjiushi 9999,这一点要注意哦~如何区分到底是从几开始的呢?就用tokenURI方法试一下就行,如果超出或者小于总量的数字就会报错。
下面我们就看看可写方法里面,这里面大家最关心的就是mint方法了。mint方法不同的项目不一样,可以说是千奇百怪:
这种就是输入获取地址和tokenId进行mint。
这种就是要输入金额和数量来进行mint。
这时候你可能会问,这个地方输入的参数如果我不知道填什么咋办?很简单,我们就去交易历史里面找到对应的方法,看看别人传得是什么进行推测:
基本上所有开源的NFT合约,都可以这样进行mint。如果不开源怎么办?就用我之前教过的扒网站源码的办法,去找出ABI自己写代码去交互。
这里还要说一个方法:
transferFrom是所有NFT都有的转账方法,类似ERC20代币的转账方法,from就是你自己的地址,to是收件人,tokenId就是你要发出的NFT的Id。直接调用这个方法就可以进行NFT的转账啦~
最近NFT大热,这部分内容趁热给大家,希望能帮助你更加熟悉NFT。
首先我拿Prime Ape Planet (PAP)也叫3D猴,这个NFT来举例说明,合约地址:
Attention Required! | Cloudflare
Completing the CAPTCHA proves you are a human and gives you temporary access to the web property.
首先来看只读方法里面我们常用的几个方法:
baseTokenURI基本是NFT都有的方法,会返回一个NFT属性数据的链接,这个链接是基础链接,部分NFT会省略次方法。比如PAP就没有。
与之对应的就是tokenURI方法了,这个方法大家只要传入tokenId进去,就会返回完整的数据链接。其实就是在baseTokenURI基础上拼接了tokenId,大部分合约都有着两个方法。但是拼接方式可能不太一样。
我们访问这个tokenId为1的属性地址:
可以看到这样的json数据,这就是tokenId为1的猴子的属性信息。有简介、官网地址、图片、名字、属性。
属性里面是个数组,有7种属性。每只猴子的属性都不会完全相同,所以所有的猴子都是这些属性随机生成的结果。
注意因为属性地址是:primeapeplanet.com/metadata/
所以3D猴的属性是中心化存储的,项目方理论上是可以任意去修改你的猴子的属性,因为这个域名的服务器是中心化,数据也在项目方手上。
与之对应,也有一些在IPFS上的例子:
Attention Required! | Cloudflare
这个合约是另一只猴子的合约,我们看tokenURI方法:
你看这里存储的数据开头是ipfs,说明数据都在去中心化存储,这样存储的数据更加去中心化。
这里有的朋友可能会问一个问题,这ipfs的json数据我怎么请求?浏览器好像拿不到数据。正确的办法应该是去:
Ethereum API | IPFS API & Gateway | ETH Nodes as a Service | Infura
注册一个账户,开通一个IPFS的API用接口的方式请求,不过免费API有一定的请求次数限制。
这里我教大家一个小技巧,我们直接用 https://ipfs.io/ipfs/ 拼上后面的 QmT1DRQGNE1D5hPeFAgCR8mAXbDG61dBLeFpMaf8Gg9SA4/1.json 直接访问就可以拿到json数据了,之后类似的方法也可以照猫画虎。
好了,继续看只读方法里面:
totalSupply就是总量的意思,项目的NFT不会超过这个数字。这里要注意一点,有的项目tokenId是从0开始,有的是从1开始。如果从0开始,总量是10000,那么最后一只的tokenIdjiushi 9999,这一点要注意哦~如何区分到底是从几开始的呢?就用tokenURI方法试一下就行,如果超出或者小于总量的数字就会报错。
下面我们就看看可写方法里面,这里面大家最关心的就是mint方法了。mint方法不同的项目不一样,可以说是千奇百怪:
这种就是输入获取地址和tokenId进行mint。
这种就是要输入金额和数量来进行mint。
这时候你可能会问,这个地方输入的参数如果我不知道填什么咋办?很简单,我们就去交易历史里面找到对应的方法,看看别人传得是什么进行推测:
基本上所有开源的NFT合约,都可以这样进行mint。如果不开源怎么办?就用我之前教过的扒网站源码的办法,去找出ABI自己写代码去交互。
这里还要说一个方法:
transferFrom是所有NFT都有的转账方法,类似ERC20代币的转账方法,from就是你自己的地址,to是收件人,tokenId就是你要发出的NFT的Id。直接调用这个方法就可以进行NFT的转账啦~
No activity yet