์คํ์จ(Opensea)๋ NFT๊ฑฐ๋์์
๋๋ค.
Ethereum, klaytn, polygon ๋คํธ์ํฌ์์ ๋ฐํ๋๋ NFT๋ค์ ๊ฑฐ๋ํ ์ ์์ต๋๋ค.
์คํ์จ์ ๊ธฐ๋ณธ ๊ตฌ์กฐ์ ๊ธฐ๋ฅ ์ค ์ผ๋ถ๋ฅผ ๊ฐ๋ฐํ๋ ํ๋ก์ ํธ๋ฅผ ์งํํ์์ต๋๋ค.
์ฐ์ 1์ฐจ ๋ชฉํ์ ์ถ๊ฐ์ ์ธ ๋ชฉํ๋ฅผ ๋๋ ์ ์ค์ ํ์ต๋๋ค. ๊ฐ๋ฐ๊ธฐ๊ฐ์์ 1์ฐจ๋ชฉํ๋ฅผ ๊ตฌํํ๋ ๊ฒ์ ๋ชฉํ๋ก ์ก๊ณ ์ดํ 2์ฐจ ๋ชฉํ๋ฅผ ๋ฌ์ฑ์ ๊ณํํ์์ต๋๋ค.
์๋ฒ์ DB์ ํ์์ฑ์ ์๋ฌธ์ ๊ฐ์ง๋ฉด์ Client ํ๋๋ง์ ๊ตฌ์ฑํ์ฌ ๋ธ๋ก์ฒด์ธ ๋
ธ๋๋ฅผ ํตํด ์ง์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ค๋ ๊ตฌ์กฐ๋ฅผ ์๊ฐํ์ต๋๋ค.
1์ฐจ ๊ฐ๋ฐ ์ดํ ๋ธ๋ก์ฒด์ธ์์ ๋ฐ๋ก ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๋๊ฑด ์ฌ์ฉ์์ ์ฌ์ฉ์ฑ์ ๋ถ๋ง์กฑ์ํค๊ฒ ๋ค๋ ์๊ฐ์ด ๋ค์์ต๋๋ค.
์๋ํ๋ฉด, ์๋ฌด๋ฆฌ external view ํจ์์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด์ฌ ๋ฟ์ด๋ผ๋ DB์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๋ ์๋์ ๋ชป๋ฏธ์ณค๊ธฐ ๋๋ฌธ์
๋๋ค. ์ดํ ์๋ฒ์ DB๋ฅผ ํฌํจํ ๊ตฌ์กฐ๋ก ๋ฐฉํฅ์ ํ์์ต๋๋ค.
๊ฐ๋ฐ์ ํฌ๊ฒ Front์ Backend์ Client-IPFS or Blockchain ์ ๊ตฌ๋ถ์ง์ด ๊ตฌํํ์์ต๋๋ค.
์ ๋ NFT๋ฅผ Mintingํ๋ ๊ธฐ๋ฅ๊ณผ Transferํ๋ ๊ธฐ๋ฅ์ ๋งก๊ฒ ๋์์ต๋๋ค.
์์ธํ ๋ด์ฉ์ ์คํ์กฐ์ ๋
ธ์
ํ์ด์ง๋ฅผ ์ฐธ๊ณ ํด์ฃผ์ธ์.
1๏ธโฃ ๊ฐ๋ฐ์ ํ๋ฉด์ ํญ์ ๋๋ผ๋ ๋ถ๋ถ์ ํด๊ฒฐ๋ฐฉ๋ฒ์ ํญ์ ์กด์ฌํ๋ค๋ ๊ฒ์
๋๋ค. ์ด๋ฒ์๋ ์ฌ์ง ์์ด ์ด๋๊ฐ์ ์์ ํด๊ฒฐ๋ฐฉ์๋ค์ ์ฐพ์ ๋ง์ด ์๋ํด๋ณด์์ต๋๋ค. ์๋์์์ ์๋ก ์๊ฒ ๋๋ ๊ฒ๋ค๊ณผ ๋ง์ ์คํจ ๋์ ๊ฒฐ๊ตญ ๊ตฌํ์ ์ฑ๊ณต ํด๋์ ๋ ๊ทธ ์ง๋ฆฟํจ์ด ๊ณ์ ์ฝ๋ฉ์ ํ๊ฒ ๋๋ ์๋๋ ฅ์ด ๋์ง ์๋ ์ถ์ต๋๋ค.
๋ต์ ์ฐพ๋ ์ฌ์ ์ ์ฆ๊ธฐ๊ณ ๋ฌธ์ ์ ๋ํด ๋๊น์ง ๋ถ๋ชํ๋ฉฐ ํด๊ฒฐํ๋ ค๋ ์์ง๊ฐ ์์ผ๋ก ์ ๊ฐ ๊ณ์ ๊ณ ์ํด ๋๊ฐ์ผํ ๊ทผ๋ณธ ๋ง์์ด๋ผ ์๊ฐํฉ๋๋ค.
2๏ธโฃ ํ์๋ค๊ณผ ํ์ ์ ์ง์์ ์ผ๋ก ์๋ก ์ํฉ๋ค์ ๊ณต์ ํ๋ฉฐ ๊ฐ๋ฐํ์์ต๋๋ค. ์ด๋ ํ ํ๋ก์ ํธ๊ฐ ์์ฑ๋ ์๊ฒ ๋ง๋ฌด๋ฆฌ ๋ ์ ์๋ ์ค์ํ ์์์ค ํ๋๋ผ ์๊ฐํฉ๋๋ค.
const tx = {
from: userAddress,
to: contractAddr,
nonce: nonce,
gas: 300000,
data: contract.methods.mintNFT(userAddress, tokenUri).encodeABI(),
};
web3ํตํด contract ๊ฐ์ฒด ์์ฑํ, ์ปจํธ๋ํธ๋ด์ ํจ์๊ฐ์ ๋ฆฌํด ๋ฐ์ ์ ์๋ ๋ฐฉ๋ฒ์ ๋ชจ๋ฅด๊ณ ์๋ค๋ ๊ฒ์ ์๊ฒ ๋์๊ณ , ์ด๋ฅผ ๊ฒ์ ํ call()์ ์ฌ์ฉํ๋ฉด ์ปจํธ๋ํธ ๋ด์ ํจ์ ์คํ์ return๊ฐ์ ๋ฐ์ ์ ์๋ค๋ ๊ฒ์ ์๊ฒ ๋์์ต๋๋ค.
const tokenId = contract.methods.getTokenId().call();
create-react-app ๋ฒ์ ์ด 5 ์ด์์ธ ๊ฒฝ์ฐ ๋ฐ์ํ๋ ๋ฌธ์ ๋ก ์๋ ๋์ ์๋ ๋งํฌ๋ฅผ ํตํด ํ์ํ ๋ถ๋ถ์ ์ค์น ํ ํด๊ฒฐ ๊ฐ๋ฅํฉ๋๋ค. web3์ creat-react-app webpack๋ฒ์ ๋ฌธ์
1๏ธโฃ ํ์ฌ ์๋ ๊ฐ์ ์ผ๋ก ์ธํ ์๋ฒ ์ฐ๊ฒฐ ๋ฐ ๋ฐ์ดํฐ ๋ก๋ ์์ ์ด ์งํ์ค์ ์์ต๋๋ค. ์ด ๋ถ๋ถ๊น์ง ์๋ฃํ์ฌ ์ฌ์ฉ์ ์ธก์์ ์ดํ๋ฆฌ์ผ์ด์ ์ ์ฌ์ฉํ์ ๋, ์๋ ์ง์ฐ์ผ๋ก ๋ถ๋ง์กฑ์ ํด๊ฒฐํ ์ ์๋๋ก ํ ์์ ์ ๋๋ค.
2๏ธโฃ ๋ฆฌํฉํ ๋ง ์งํ ์์ ์ ๋๋ค. ์ฝ๋๋ฅผ ๋์ํ๋๋ก๋ง ํ๋ ๊ฒ๋ ์ค์ํ์ง๋ง ์ฝ๊ธฐ ์ข๊ณ ์ฌ์ฉํ๊ธฐ ์ข์ ์ฝ๋๋ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ด๋ฅผ ์ํ ์์ ์ ์์ ์ค์ ๋๋ค.