|
1 |
| -## Full stack NFT marketplace built with Polygon, Solidity, IPFS, & Next.js |
| 1 | +# Creative Comomons NFT Playground |
2 | 2 |
|
3 |
| - |
| 3 | +## 📢Tips |
| 4 | +- 🌏 Every NFT here is licensed under Creative Commons Attribution 4.0 International License. 🅭 |
| 5 | +- 🎁 Buying NFT is to donate tokens to the NFT minter(maybe the author). You can't sell it to others. |
| 6 | +- 🎓 Please don’t mint anything that doesn’t belong to you. We have a Dweb DAO to help check cheating behavious. (Welcome to join the DAO.) |
4 | 7 |
|
5 |
| -### Running this project |
| 8 | +## 📢注意 |
| 9 | +- 🌏 这里的所有NFT作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。 🅭 |
| 10 | +- 🎁 购买NFT仅仅意味着你向NFT铸造者(可能是作品作者)捐款。你不能将该NFT卖给其他人。 |
| 11 | +- 🎓 请不要将任何不属于你的作品铸造为NFT。 我们有一个Dweb DAO帮助检测欺骗行为。(也欢迎加入) |
6 | 12 |
|
7 |
| -#### Gitpod |
8 | 13 |
|
9 |
| -To deploy this project to Gitpod, follow these steps: |
| 14 | +## The Features |
| 15 | +- 🌏 All Creative Commons licensed articles will be stored on IPFS and indexed in dweb search engines(such as Dweb Search). |
| 16 | +- 🎁 Authers can mint the articles as NFTs and push them to market with very low gas fee(with Polygon network). Users can buy NFTs (articles) which they like, just for donation. |
| 17 | +- 🎓 The NFTs will be stored both on IPFS and Filecoin with nft.storage and Filecoin-Polygon-Bridge so we can help store valuable data on web permanently. |
10 | 18 |
|
11 |
| -1. Click this link to deploy |
12 | 19 |
|
13 |
| -[](https://gitpod.io/#github.com/dabit3/polygon-ethereum-nextjs-marketplace) |
| 20 | +## (O_O)? Question? |
| 21 | +- 🔗 We use mumbai test network. You can add it to your Metamask with Chainlist |
| 22 | +- 🌏 You can join Dweb Lab Discord |
| 23 | +- 🌃 There is also an IPFS version: ipfs://QmSp1Y8TJLQ2dJyYd5uZS7iqGDLPChf2rSsK1R8KkTgY2i |
14 | 24 |
|
15 |
| -2. In __pages/index.js__, pass in the RPC address given to you by GitPod to the call to `JsonRpcProvider` function: |
16 | 25 |
|
17 |
| -```javascript |
18 |
| -/* update this: */ |
19 |
| -const provider = new ethers.providers.JsonRpcProvider() |
| 26 | +## License |
| 27 | +https://opensource.org/licenses/MIT |
20 | 28 |
|
21 |
| -/* to this: */ |
22 |
| -const provider = new ethers.providers.JsonRpcProvider("https://8545-youendpoint.gitpod.io/") |
23 |
| -``` |
24 | 29 |
|
25 |
| -3. Import the RPC address given to you by GitPod into your MetaMask wallet |
| 30 | +## Design |
| 31 | +## 设计 |
| 32 | +- 1 人类:理想情况下,高质量知识应该免费公开传播 |
| 33 | +- 2 作者:作者需要生存 |
| 34 | +- 3 读者:读者面对众多作品,注意力有限,难以高效分辨作品质量是否符合自己的需求 |
| 35 | +- 4 市场:如果一个作品能被多次交易,容易让人陷入炒作而非关注作品本身;但部分读者有实力支持作者 |
| 36 | +- 为了让以上4者更好的共存,提供一个作品发布工具,作品均以CC-BY-SA分享(满足1),无付费墙和传播墙;可选制作为NFT,购买NFT的主要作用是捐赠作者,即使不购买NFT也可以直接给作者捐赠(满足2); 捐赠也帮助增加作品的影响力,用于3次方投票;读者可自由参考3次方投票辅助选择作品,多了一个选择的维度(满足3);单个作品只能被购买一次(满足4) |
26 | 37 |
|
27 |
| - |
| 38 | +## 博弈分析 |
| 39 | +- 问题1 作者会考虑自己开多个账号自己买自己的作品来增加影响力。每个策展平台自由选择影响因子算法;而3次方投票仅为其中一个影响因子 |
| 40 | +- 问题2 作品均可以免费查看,无需NFT,只需给作者捐赠就好。是的,这只是一个用于支持Creative Comomons内容的NFT实验,nft-for-fun |
| 41 | +- 问题3 作者可能会重复发自己的作品赚取费用,由于信息公开可查,检测应该不难 |
| 42 | +- 问题4 NFT流动性差。我们不在乎NFT的流动性 |
28 | 43 |
|
29 |
| -#### Local setup |
30 | 44 |
|
31 |
| -To run this project locally, follow these steps. |
| 45 | +## 名词解释 |
| 46 | +- CC-BY-SA 知识共享-署名-相同方式共享 (属于自由文化许可协议) |
| 47 | +- DwebVerse Marketplace |
32 | 48 |
|
33 |
| -1. Clone the project locally, change into the directory, and install the dependencies: |
34 | 49 |
|
35 |
| -```sh |
36 |
| -git clone https://github.com/dabit3/polygon-ethereum-nextjs-marketplace.git |
37 |
| - |
38 |
| -cd polygon-ethereum-nextjs-marketplace |
39 |
| - |
40 |
| -# install using NPM or Yarn |
41 |
| -npm install |
42 |
| - |
43 |
| -# or |
44 |
| - |
45 |
| -yarn |
46 |
| -``` |
47 |
| - |
48 |
| -2. Start the local Hardhat node |
49 |
| - |
50 |
| -```sh |
51 |
| -npx hardhat node |
52 |
| -``` |
53 |
| - |
54 |
| -3. With the network running, deploy the contracts to the local network in a separate terminal window |
55 |
| - |
56 |
| -```sh |
57 |
| -npx hardhat run scripts/deploy.js --network localhost |
58 |
| -``` |
59 |
| - |
60 |
| -4. Start the app |
61 |
| - |
62 |
| -``` |
63 |
| -npm run dev |
64 |
| -``` |
65 |
| - |
66 |
| -### Configuration |
67 |
| - |
68 |
| -To deploy to Polygon test or main networks, update the configurations located in __hardhat.config.js__ to use a private key and, optionally, deploy to a private RPC like Infura. |
69 |
| - |
70 |
| -```javascript |
71 |
| -require("@nomiclabs/hardhat-waffle"); |
72 |
| -const fs = require('fs'); |
73 |
| -const privateKey = fs.readFileSync(".secret").toString().trim() || "01234567890123456789"; |
74 |
| - |
75 |
| -// infuraId is optional if you are using Infura RPC |
76 |
| -const infuraId = fs.readFileSync(".infuraid").toString().trim() || ""; |
77 |
| - |
78 |
| -module.exports = { |
79 |
| - defaultNetwork: "hardhat", |
80 |
| - networks: { |
81 |
| - hardhat: { |
82 |
| - chainId: 1337 |
83 |
| - }, |
84 |
| - mumbai: { |
85 |
| - // Infura |
86 |
| - // url: `https://polygon-mumbai.infura.io/v3/${infuraId}` |
87 |
| - url: "https://rpc-mumbai.matic.today", |
88 |
| - accounts: [privateKey] |
89 |
| - }, |
90 |
| - matic: { |
91 |
| - // Infura |
92 |
| - // url: `https://polygon-mainnet.infura.io/v3/${infuraId}`, |
93 |
| - url: "https://rpc-mainnet.maticvigil.com", |
94 |
| - accounts: [privateKey] |
95 |
| - } |
96 |
| - }, |
97 |
| - solidity: { |
98 |
| - version: "0.8.4", |
99 |
| - settings: { |
100 |
| - optimizer: { |
101 |
| - enabled: true, |
102 |
| - runs: 200 |
103 |
| - } |
104 |
| - } |
105 |
| - } |
106 |
| -}; |
107 |
| -``` |
108 |
| - |
109 |
| -If using Infura, update __.infuraid__ with your [Infura](https://infura.io/) project ID. |
| 50 | +## 使用方法 |
| 51 | +- step1: 发布metadata信息,信息存在dweb search engine等开放接口的引擎里。信息公开 |
| 52 | +- step2: mint 只需要支付不到1分钱的gas费用,但作品没有被发到NFT market |
| 53 | +- step3: 将NFT发到市场上,可在市场公开查看,需要支付不到1分钱的gas费 |
| 54 | +- step4: 买家买走 |
0 commit comments