比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads

金色薦讀|怎么部署一個JPG NFT項目?_NFT

Author:

Time:1900/1/1 0:00:00

2021年NFT流行度迅速上升,誕生了許多項目,社區圍繞著它們形成。春節臨近,我們何不自己部署一個NFT來獎勵自己呢?

作為對項目的忠誠或支持的展示,許多用戶選擇將他們的個人資料圖片(或簡稱“PFP”)更改為一個NFT集合中的JPG。這使得這些用戶很容易被識別為社區成員,并且擁有/展示具有不常見/稀有特征的NFT不僅可以增加該NFT的有形價值,還可以增加社會價值。

事實上,OpenSea——一個受歡迎的NFT交易市場——的用戶群和銷量呈指數級增長,部分原因是基于藝術的PFP NFT的興起。

在本教程結束時,你應該了解如何使用層(特別是沒有固有效用/價值的NFT,用作PFP項目)以編程方式構建任意數量的圖像,列出它們的特征,然后將其放入所有“鏈上”開始建立你的社區。此外,我將介紹在構建NFT項目時要注意的一些詐騙策略和要考慮的一般合約安全。

對于本文,如果你想繼續閱讀,請參閱409H/sample_nft_project代碼庫(https://github.com/409H/sample_nft_project#sample-nft-project)。

首先,我們需要描述我們想要在我們的項目中使用哪些層/特征,以便我們知道要制作什么樣的圖形。對于這個示例項目,我們將創建一個具有一些基本不同層/特征的簡單項目:

頭型

頭部顏色

眼睛的顏色

眼睛形狀

嘴巴顏色

嘴型

我們將首先構建不同類型的頭部:圓形、方形和三角形選項,帶有顏色變化。

金色相對論 | Jerry:流動性挖礦會在接下來的DeFi協議中被大規模使用:7月16日消息,在今日舉行的金色相對論中,針對“上線幾天的Compound憑借 “流動性挖礦”成為DeFi發展的領頭羊,接下來“流動性挖礦”可能會成為DeFi協議的標配嗎?能否真的解決去中心化治理?”的問題,DeFi Labs合伙人Jerry表示,流動性挖礦會在接下來的DeFi協議中被大規模使用,原因有三點:

第一點就是他規避了發幣的合規問題,以往的代幣分發模式里,比如ICO,IEO等等,都涉及到實際資金的投入;而流動性挖礦的模式里投資者并沒有投入自己的實際的資本,它的成本主要是機會成本,所以流動性挖礦所獎勵的代幣被定義為證券的幾率就比較低。

第二點就是這種模式可以有效的激勵DeFi協議的參與,我們可以看到自從Compound采用這種模式之后,其借貸量在短短幾天內翻了五倍,Balancer也有類似的效果。

第三點就是流動性挖礦可以控制代幣的產出在一個合理的速度,相比于許多項目分時間解鎖大量代幣的情況,流動性挖礦可以在一個初期相當長的時間內把代幣的數量控制在一個較小的范圍內。

同時,Jerry表示,不認為流動性挖礦可以解決去中心化治理的問題。這是兩個維度的事物,流動性挖礦是代幣分發的方式,而關于到去中心化治理的主要是代幣分配的方式。

我們可以看到Compound的歷次治理提案中基本上都是機構在左右結果,這是代幣分配方式的不合理,而不是代幣分發方式的不合理。[2020/7/16]

首先,你需要一個圖形創建軟件。對于這個項目,我使用“?8位畫家(8bit painter)”,畫布大小為16x16(啟用網格)。

參考0,0 坐標(水平線和垂直線在中心相交的地方)作為面的中間。這樣我們就可以在畫布上創建相對于頭部(圖形中的主要層)有間距的其他層。

金色財經行情播報 | BTC加速下跌,局部空方占優:據火幣行情顯示,今日早晨BTC加速下跌,最低觸及8649USDT,反彈至8750USDT區間后小幅震蕩,局部空方占優。從日線圖看,BTC已跌破均線MA30,大周期呈雙頂雛形,并且距離頸線位尚有距離。4小時圖下降通道延伸,MA30乖離值較大,1小時圖日內出現兩次放量下跌,局部空頭優勢明顯,尚有發力空間。截至10:00,火幣平臺的主流幣的具體表現如下:[2020/5/25]

在上面的圖片,你會發現三個目錄(層): 00head,01eyes和02mouth。頭部將是圖形的基礎層,眼睛和嘴巴將以編程方式覆蓋在頭部層的頂部,因此我們不必手動創建帶有所有不同層的每個圖像。

請記住,這是一個示例項目——沒有做太多的藝術工作來讓它看起來很漂亮,也沒有準備許多不同的特征類型——這只是為了讓你對我們可以完成的工作有一個小小的了解。

需要注意的是每一個層(除了頭)具有一個透明的背景,并且在同一畫布大小,因此圖像可以在彼此的頂部容易且均勻地覆蓋。

一旦所有不同的層和變體都完成了,我們就可以開始編寫代碼來構建最終圖像并記錄每個圖像各自的特征映射。請注意,我們將每個層命名為

__.png這是有意為之,因為它將有助于以編程方式為每個圖形構建特征映射。如果你使用相同的代碼構建自己的項目,請確保運行“composer run test”以針對圖像文件名運行測試。

現在我們的項目包含輸出最終圖形所需的層,我們需要編寫一些代碼將這些層組合在一起并強制將某種稀有性添加到項目中 - 例如,一些項目喜歡制作僵尸/骨架變體他們的角色是“罕見的”,這意味著只有一小部分最終圖像會有這些“皮膚”。在我們的例子中,我們不會強制任何類型的稀有度,并且層將被隨機挑選。

金色晨訊 | USDT場外掛單量大幅下滑 閃電網絡節點數上升:1.USDT場外掛單量有較大幅度下滑

2.澳本聰:比特幣讓好的政府更強大

3.安大略省證券委員會正考慮在其境內永久禁止USI-Tech

4.75%的 BSV哈希值包含在4個節點中

5.CNBC主持人:人們很快會因為沒有在熊市中購入而后悔

6.BTC夜間短時急跌 再度跌破3300美元

7.Chatspin公司宣布放棄用加密貨幣作為支付形式

8.閃電網絡節點數持續上升 現已達到4371個

9.Helio在澳大利亞推出加密貨幣借貸服務[2018/12/9]

為此,我們將編寫一些PHP代碼并使用圖像處理GD庫進行圖像處理。最終代碼可能看起來不太漂亮(我期待使用PHP的pitchforks)但它可以按預期工作來構建圖像。

我們總共有4種頭部類型、4種頭部顏色、3種眼睛顏色、2種眼睛類型、2種嘴巴顏色和1種嘴型,并且可以自由編寫代碼來描述它們的稀有性——但首先,讓我們把代碼放在一起合并每一層。

一旦代碼將層合并到我們的規則集(它只是隨機選擇層進行n次迭代),代碼將生成接口(例如OpenSea)所需的JSON對象以顯示每個圖像的特征,這些特征將從在合約級別存儲在 baseURI中的端點。

在大多數情況下,NFT合約使用廣泛接受的EIP-721標準,這是一些代碼的一套規則。這些規則概述了函數名稱、函數參數和函數返回類型,然后允許合約的實現/消費順利進行,因為產品只需要按照這些標準編寫代碼,而不必擔心任何項目——渲染圖形的特定調用(或詢問合同以獲取信息,例如“該合約中地址0x11b6A5fE2906F3354145613DB0d99CEB51f604C9擁有多少NFT?”)。

金色財經數據播報 市值前100的幣種7漲93跌:根據行情數據顯示,隨著BTC價格的波動,目前市值前百幣種7漲93跌。其中HOT跌幅最大,跌幅達14.28%,現全球均價0.007元;SALT位居次席,跌幅達13.44%,現全球均價14.53元;XVG跌幅達13.22%,現全球均價0.29元。[2018/5/23]

有各種框架和工具可以幫助將合約部署到基于EVM的區塊鏈;我們將使用Remix部署NFT合約并設置合約以允許購買NFT。因為它符合EIP-721,所以它可以在OpenSea等二級市場上開箱即用。

要自定義合約邏輯,我們可以使用OpenZepplin Wizard和Remix。要部署該項目的Rinkeby testnet,我們將遵循由Andrew B Coathup提供的教程。(然后,一旦我們確定我們想花真正的錢,我們會部署到Mainnet。)

因為我們希望允許用戶鑄造一些的NFT,我們可以添加一個功能合約(EIP-721功能的刪除是不容許的,但我們可以自由地向總合約添加盡可能多的我們希望的功能) .

我們需要修改向導生成的代碼以設置mint()可以調用的次數限制,不應有比我們之前創建的獨特圖形數量更多的鑄造次數。注意:由于基于零的索引(意味著數字從零開始,而不是從一開始),我們需要從數字中減去 1。

soluint?immutable?maxSupply;constructor(uint?_maxSupply)?ERC721("Sample?NFT?Project",?"SNP")?{maxSupply?=?_maxSupply?-?1;}

金色財經現場報道金豐元投資董事長蔡雲致辭:區塊鏈是影響未來世界的認知革命:金色財經現場報道,金豐元投資董事長蔡雲在2018中國區塊鏈高峰論壇峰會現場發表演講致辭,2018年是區塊鏈應用元年,2018已過半載,區塊鏈的熱度不減,區塊鏈是影響未來世界的認知革命,過去幾百年模式化經營的企業,在未來將有更多層次,更多維度的參與區塊鏈行業,5年前我們錯過了移動支付,10年前我們錯過了移動互聯網,今天我們不要錯過區塊鏈。[2018/5/19]

部署合約時,我們必須在構造函數參數中輸入可以鑄造的最大供應量(我們之前輸出的唯一圖像的數量)。這意味著每個mint() 都會有一個圖像和屬性。

NFT的鑄造功能通常由鑄造它的用戶支付,這意味著鑄造者需要向合約發送一些ETH才能接收他們的NFT。為此,我們將在我們的合約中添加一個新功能,以0.01ETH的成本進行鑄造。ETH將留在合約中,直到合約的所有者調用另一個新方法:`withdraw()`。請注意,你可以將其設置為你想要的任何價格,有些項目甚至允許免費鑄幣,鑄造者只需要支付gas!

solfunction?mint()?public?payable?{require(_tokenIdCounter.current()?<=?maxSupply,?"Sold?out");?//?NFT?project?sold?outrequire(msg.value?==?0.01?ether,?"Incorrect?amount");?//?Cost?to?mint?1?NFT?is?0.01?ETH?(10000000000000000?wei)_safeMint(msg.sender,?_tokenIdCounter.current());_tokenIdCounter.increment();}function?withdraw()?public?onlyOwner?{?//?Owner?can?withdraw?all?the?eth?that?was?paid?to?mint?NFTsaddress?payable?recipient?=?payable(address(msg.sender));recipient.transfer(address(this).balance);}一旦我們使用init參數將合約部署到Rinkeby,我們就可以調用mint()鑄造NFT。

合約創建:

https://rinkeby.etherscan.io/tx/0x46ce4ad1cacae757ee12252b5e214509d829bcc0626aaf325965ae99b5249f74

鑄造NFT:

https://rinkeby.etherscan.io/tx/0x4d4102264edfe4aee9a58d1cbc405b0e5b308708c92ffce5413d80459e0e7c1c

申領ETH:

https://rinkeby.etherscan.io/tx/0xb6eb339e065c9cb573af2496cef3d2ca67e9b9852c08b2492e9eaed11cbc3bbd

現在我們有鏈上合約(0xab9d2c623ec60a60a08a87e22adc83b91a486f2c)并且NFT已經生成(帶有索引0),我們可以使用OpenSea的驗證端點來驗證元數據。

然后我們可以在OpenSea上查看NFT及其所有特征!

區塊鏈瀏覽器如Etherscan現在將顯示我們的合約,因為它已經部署,但將只顯示字節代碼,直到我們驗證了合約。有時這是一個手動過程,但在部署過程中有可用的自動化工具來執行此操作。當我們的合約從OpenZeppelin存儲庫中導入其他合約時,我們將通過使用一個名為truffle-plugin-verify的強大工具來節省時間。

驗證合約將使其更具可讀性,因為Solidity代碼將發布在區塊瀏覽器上,人們可以更輕松地驗證合約的邏輯。這與社區和開發人員建立了內在的信任,因為每個人對項目背后的代碼都有相同的看法。

我們將需要創建一個新.env文件并為Etherscan和QuickNode添加API密鑰,并提供一個[僅供測試使用!!]秘鑰恢復短語,以便我們可以在Rinkeby測試網上部署合約并使用兩個驗證合約命令。

shelltruffle?migrate?--network?rinkeby?#?Deploy?contract?to?Rinkeby?with?Truffletruffle?run?verify?SampleNftContract?--network?rinkeby?#?Verify?contract?source?code?on?Etherscan5、預部署注意事項如果你正在關注sample_nft_project存儲庫,則:

圖形相關

將更多圖層圖形添加到images_raw目錄并正確命名文件。

閱讀PHP腳本以確保最終圖形和特征按照您的意愿構建,因為目前沒有強制執行稀有性/唯一性。

安全可靠地托管你的圖像元數據至關重要。如果它托管在你自己的域中(如本例中,數據托管在harrydenley.com上),則圖形存在不持久的風險。一些項目提倡使用在IPFS上存儲數據。

智能合約相關

確保將元數據的靜態端點更改為托管元數據的位置。

確保將合約名稱和符號更改為與你的項目相關的內容。

確保你對每個NFT的成本感到滿意,或者如果你不滿意,請更改該值。

部署合約時,請確保將maxSupply設置為images_processed目錄中最大數字的整數。

考慮使用帶有JavascriptVM或注入的web3提供程序的Remix來部署它,指向Rinkeby,這樣你就不會使用真錢來測試它。

由于我們可以向合約添加/編輯功能,包括更改BaseURI(保存元數據的位置),最好(為了社區)將此值設置為靜態或至少renounceOwnership()稍后調用,如果你想將所有內容指向服務器并更新端點以進行“揭示你的NFT”事件。尤其需要注意的是,如果元數據位于中央服務器上(即不是“不可變”的服務器,例如IPFS、Arweave等),那么任何有權訪問該服務器的人都可以更改特征和外觀的NFT。

一旦鑄造供應達到其最大值(部署合約時在構造函數中設置的值)并且你已從合約中提取 ETH,請考慮調用renounceOwnership()。由于NFT是靜態供應的,因此你不再需要對合約擁有任何所有權。

這份NFT智能合約未經修改,將要求支付ETH以換取NFT,這可能會引發“gas戰爭”,尤其是在高度期待NFT的情況下。

我們還注意到創建者如何收到為NFT支付的ETH。我們沒有添加在調用mint()時將ETH付款轉發給合約所有者的邏輯,而是添加了另一種方法供所有者調用withdraw(),以便他們可以隨時調用。這意味著用戶鑄造NFT的Gas限制(以及交易成本)會更低。

買賣NFT可能很有趣,但構建自己的NFT項目可能令人生畏。希望這能讓你對這個過程有所了解!

Tags:NFTETHINTINKSHIBANFTethereal另一半情侶名字cointiger交易所link幣和fil幣哪個更好

以太坊交易
「無聊猿」創始人專訪:是什么造就了BAYC的成功?_NFT

2022 年 1 月 29 日,「無聊猿」BAYC 地板價突破 100 ETH,創下歷史新高。在突破這一歷史性里程碑之后,Rug Radio 播客和這個廣受加密社區和許多名人明星歡迎的 NFT.

1900/1/1 0:00:00
數據:加密現貨市場和衍生品的低交易量表明市場看跌_USD

過去兩周,數字貨幣市場的價值大幅下滑,價格下跌并未引發交易量增加。數據顯示,加密貨幣現貨市場交易量已從 2021 年 11 月的 1.4 萬億美元下滑至本月的 5930 億美元.

1900/1/1 0:00:00
元宇宙熱背后:避免內卷化競爭與技術割據_CIM

元宇宙熱度不減,世界市場及政府紛紛布局元宇宙。美國率先提出“元界”概念,先有第一家元宇宙公司Roblox成立,后有互聯網巨頭Facebook更名Meta,此后微軟、谷歌、英偉達等美國企業先后宣布.

1900/1/1 0:00:00
在 Web3 時代 社交媒體所有權是什么?_REA

在過去的二十年里,社交媒體已經成長為一股全球力量,允許用戶在這些數字平臺上分享想法、創建內容、獲取信息并建立社區.

1900/1/1 0:00:00
調研顯示:76%以上消費者傾向購買“上鏈”農產品_IOT

鄉村全面振興,產業振興是首要任務和重要根基。近期,中國宏觀經濟研究院課題組撰寫的《數字技術賦能鄉村產業發展報告》指出,長期以來困擾鄉村產業發展的難點、堵點正在逐漸被數字技術所消弭和破解.

1900/1/1 0:00:00
亞洲最大的元宇宙平臺 體驗在豪宅里開Party_PETO

想象一下,你剛剛得到了你愿望清單上一直想擁有的生活方式,電視、可提高您生活質量的家用電器以及最新款時尚智能手機.

1900/1/1 0:00:00
ads