added new button and more posts
7580fcb5
9 file(s) · +98 −0
Binary file — no preview.
Binary file — no preview.
| 1 | + | --- |
|
| 2 | + | const { link, site, image } = Astro.props |
|
| 3 | + | import { Image } from "@astrojs/image/components"; |
|
| 4 | + | --- |
|
| 5 | + | ||
| 6 | + | <a class="flex justify-start items-center gap-2" href={link} target="_blank"> |
|
| 7 | + | <Image src={image} width={30} height={30} alt={`Link to ${site}`} /> |
|
| 8 | + | Read this post on {site} |
|
| 9 | + | </a> |
| 1 | + | --- |
|
| 2 | + | title: "How to Create a Dynamic App NFT Resume" |
|
| 3 | + | publishDate: "10 Jan 2023" |
|
| 4 | + | description: "Level up your job search with a dynamic app NFT resume that will wow any employer." |
|
| 5 | + | tags: ["web3", "nfts", "tutorials"] |
|
| 6 | + | ogImage: "https://global-uploads.webflow.com/629e4fe96456f8219203e7f1/6410b6848afd85df8fe0a193_2023-01-10_How-to-Create_blog-img-tiny.png" |
|
| 7 | + | --- |
|
| 8 | + | import { Image } from "@astrojs/image/components"; |
|
| 9 | + | import pinnie from "../../assets/pinnie.png"; |
|
| 10 | + | import OutLinkButton from "../../components/OutLinkButton.astro" |
|
| 11 | + | ||
| 12 | + | <OutLinkButton link="https://www.pinata.cloud/blog/resume-app-nft" site="Pinata" image={pinnie} /> |
|
| 13 | + | ||
| 14 | + | Despite the current market conditions, web3 jobs are still on the rise. But competition is at an all-time high. Sure you can build a portfolio of projects to help display your skills, but that’s what everyone else is doing too. What can you do to stand out among the crowds of developers out there like yourself? How are you thinking outside the box? |
|
| 15 | + | ||
| 16 | + | Rather than another LinkedIn resume or eye-glazing PDF, what if a potential employer opened up their crypto wallet and saw an interactive resume NFT with your name on it? It would demonstrate not only your ability to make NFTs, but [App NFTs](https://medium.com/pinata/how-to-build-an-app-nft-7c57b51698e7)—this concept that a full blown and functional application can be an NFT. You think that might crank things up a bit? |
|
| 17 | + | ||
| 18 | + | https://global-uploads.webflow.com/629e4fe96456f8219203e7f1/63bd95ce8503f7e7478918e7_Untitled.gif |
|
| 19 | + | ||
| 20 | + | This dynamic resume app NFT would show an ability to make anything an NFT, like an interactive comic book or even a small game. And you’d better believe it would get that employer intrigued enough to set up some time to chat with the power of simply dropping your resume into their wallet. |
|
| 21 | + | ||
| 22 | + | Sound interesting? Let’s talk about how you can create your own dynamic resume app NFT. |
|
| 23 | + | ||
| 24 | + | ## Building your Resume App NFT |
|
| 25 | + | ||
| 26 | + | Here we’ll give a general walkthrough of how to create this Resume App NFT, but the ultimate tutorial (and what is primarily referenced while building this) is [Justin’s guide on how to create App NFTs using Pinata](https://medium.com/pinata/how-to-build-an-app-nft-7c57b51698e7), Polygon and Opensea. |
|
| 27 | + | ||
| 28 | + | Let’s get into it. |
|
| 29 | + | ||
| 30 | + | First things first, you need a vision of what your resume could look like. As the primary builder, our Head of Community Steve Simkins envisioned something more dynamic and interactive, taking advantage of all the fun web dev tools out there. It was important to keep in mind what this would look like from an NFT marketplace like Opensea or a crypto wallet, making sure it’s size would not cause problems. |
|
| 31 | + | ||
| 32 | + | Steve spent sometime tinkering in Figma and ended up with a card like design that could have multiple screens with different pieces of the resume. The reader could hover over the card and get a cool 3D effect, and click on the forward and back buttons to read through his skills. |
|
| 33 | + | ||
| 34 | + | After the design was finished, it was time to build the app. Steve followed Justin’s tutorial by making a simple React application and made sure to use **“homepage”: “.”** in the **package.json** file; very important to make sure it runs correctly on Pinata and IPFS. From there Steve used some standard issue web design methods and created a static “website” or app that was his resume. Of course for this step you can use just about any kind of javascript framework or tools, not just React. Once the development was complete, Steve ran the build command and uploaded the build folder to Pinata. |
|
| 35 | + | ||
| 36 | + | As said in Justin’s tutorial, you can use a free Pinata account to do all of this, but to truly harness the full user experience of this app, using a paid account with a Dedicated Gateway will make this app much faster than if you used a public gateway or depended on external sources. Here is an example of the application through Steve’s Dedicated Gateway: |
|
| 37 | + | ||
| 38 | + | <iframe src="https://stevedsimkins.mypinata.cloud/ipfs/QmdKYQpczE7giv15Yx2tkk1pkbRe862eaLhTR5e7FjhJ8F/index.html" frameborder="0" height="500px" width="100%" class="hidden sm:block" /> |
|
| 39 | + | <Image |
|
| 40 | + | src="https://global-uploads.webflow.com/629e4fe96456f8219203e7f1/63bd95503c654e14fc1b3b00_Slide%2016_9%20-%203.png" |
|
| 41 | + | alt="Screenshot of web app" |
|
| 42 | + | width={1920} |
|
| 43 | + | aspectRatio={1/1} |
|
| 44 | + | class="sm:hidden" |
|
| 45 | + | /> |
|
| 46 | + | ||
| 47 | + | Awesome! Resume app is done, time to turn it into an NFT. Following the guide, Steve created a simple smart contract to deploy the App NFT in a way that he could keep updating it with new versions, very handy if you ever have an update in experience or education. Also keep in mind you can do your own smart contract customization here to do cool stuff, like mass airdrop your NFT to a list of wallets or ENS addresses! |
|
| 48 | + | ||
| 49 | + | With the smart contract tested and ready to go, it was time to prep the metadata for the NFT. Steve kept it pretty simple with a name, description, image link for thumbnails, and used his Dedicated Gateway link in the **animation_url** for performance. |
|
| 50 | + | ||
| 51 | + | ```json |
|
| 52 | + | { |
|
| 53 | + | "name": "Steve's App NFT Resume", |
|
| 54 | + | "description": "A dynamic NFT resume by Steve", |
|
| 55 | + | "image": "ipfs://QmTa46bKHxcQCBoNt887X2zNJwAHpAZ93hTXDi9KeJeM4W", |
|
| 56 | + | "animation_url": "https://stevedsimkins.mypinata.cloud/ipfs/QmdKYQpczE7giv15Yx2tkk1pkbRe862eaLhTR5e7FjhJ8F/index.html" |
|
| 57 | + | } |
|
| 58 | + | ``` |
|
| 59 | + | ||
| 60 | + | With the metadata.json file complete, Steve uploaded that file to Pinata as well and used the CID as the token URI like so: |
|
| 61 | + | ||
| 62 | + | ```javascript |
|
| 63 | + | const URI = "ipfs://QmU85vmit8ShrUpnJFg3wEAMA61GcQB2X5KcgabchDV1kt" |
|
| 64 | + | ``` |
|
| 65 | + | ||
| 66 | + | That’s it! After Steve ran the deployment command with Hardhat, the NFT had been minted in his wallet where we could see it on OpenSea! [Check it out](https://testnets.opensea.io/assets/goerli/0x45602432657d8100119e8633b677043b9022c22b/1) 😎 |
|
| 67 | + | ||
| 68 | + | Of course this app is a fun proof of concept, but with some more refining and perhaps a better framework, you can make efficient applications that can be owned as NFTs. This is just one of the many possibilities, all of which could either make your portfolio impressive, or even launch your own company 👀 What will you build? |
| 7 | 7 | --- |
|
| 8 | 8 | ||
| 9 | 9 | import { Image } from "@astrojs/image/components"; |
|
| 10 | + | import medium from "../../assets/medium.png" |
|
| 11 | + | import OutLinkButton from "../../components/OutLinkButton.astro" |
|
| 12 | + | ||
| 13 | + | <OutLinkButton link="https://medium.com/pinata/how-to-scan-and-create-1-1-3d-nfts-on-solana-using-polycam-and-pinata-df513dd87937" site="Medium" image={medium} /> |
|
| 10 | 14 | ||
| 11 | 15 | The growth and evolution of NFTs has come a long way from the early days. Some of the early NFT projects were simple .png files or a link to a YouTube video, but now they are an entire industry that consumes brand, utility, even augmented reality. Metaverses, 3D objects, and other virtual reality experiences are all the rage, and I firmly believe we will see more of this in the near future. |
|
| 12 | 16 |
| 6 | 6 | ogImage: "https://miro.medium.com/v2/resize:fit:4800/format:webp/1*4xA96GrA9iLYMp5vorcjyQ.jpeg" |
|
| 7 | 7 | --- |
|
| 8 | 8 | ||
| 9 | + | import medium from "../../assets/medium.png" |
|
| 10 | + | import OutLinkButton from "../../components/OutLinkButton.astro" |
|
| 11 | + | ||
| 12 | + | <OutLinkButton link="https://medium.com/pinata/a-case-for-ipfs-on-layer-1-blockchains-like-solana-aptos-and-sui-165a9732c214" site="Medium" image={medium} /> |
|
| 13 | + | ||
| 14 | + | ||
| 9 | 15 | There has been a Cambrian explosion of new layer 1 blockchains — all with brand new technologies that make them faster and more efficient. However there is one problem that no blockchain has managed to overcome: asset storage. |
|
| 10 | 16 | ||
| 11 | 17 | Blockchains are great for keeping a ledger of transactions, but storing large amounts of data on-chain is expensive and doesn’t scale well. Worse, most of the centralized off chain storage methods have a bad reputation of enabling rug pulls and bad actors in the NFT space. Even though Pinata solves these problems, giving creators and developers easy access to the heaven-sent distributed file system known as IPFS, many of these new layer 1 chains still don’t understand why IPFS is the solution to their problems. Let’s break it down. |
| 6 | 6 | ogImage: "https://miro.medium.com/v2/resize:fit:4800/format:webp/1*JbX3kWI20G3EaKJNgXfQiQ.png" |
|
| 7 | 7 | --- |
|
| 8 | 8 | import { Image } from "@astrojs/image/components"; |
|
| 9 | + | import medium from "../../assets/medium.png" |
|
| 10 | + | import OutLinkButton from "../../components/OutLinkButton.astro" |
|
| 11 | + | ||
| 12 | + | <OutLinkButton link="https://medium.com/pinata/how-to-mint-an-nft-on-sui-using-pinata-and-the-sui-js-sdk-4386655e403" site="Medium" image={medium} /> |
|
| 13 | + | ||
| 9 | 14 | ||
| 10 | 15 | One of my favorite pastimes is playing around with new blockchains and seeing what they’re like, what they offer, and how easy they are to build on. Recently I stumbled upon Sui and some of its unique features, such as dynamic metadata and goals to help onboard everyday people. After playing with it myself I was impressed with its speed and smoothness, which is saying something as it’s still in development! |
|
| 11 | 16 |
| 6 | 6 | ogImage: "https://miro.medium.com/v2/resize:fit:4800/format:webp/1*KxoVDEZFH3mJrlfeguMYjg.jpeg" |
|
| 7 | 7 | --- |
|
| 8 | 8 | import { Image } from "@astrojs/image/components"; |
|
| 9 | + | import medium from "../../assets/medium.png" |
|
| 10 | + | import OutLinkButton from "../../components/OutLinkButton.astro" |
|
| 11 | + | ||
| 12 | + | <OutLinkButton link="https://medium.com/pinata/how-to-offset-your-nft-project-carbon-emissions-with-aerial-b5b4b95faba0" site="Medium" image={medium} /> |
|
| 13 | + | ||
| 9 | 14 | ||
| 10 | 15 | As a believer in NFTs and Web3, I am always ecstatic to see what can be done with this new technology. I get bullish over new projects, experimental ideas, and cutting edge utility (especially when it’s something we make at Pinata like [Submarine.me](https://submarine.me)). However, I don’t look at this Metaverse with rose colored glasses. There are many imperfections in this space, and one of the worst ones is environmental impact. |
|
| 11 | 16 |
| 5 | 5 | tags: ["web3", "ipfs", "tutorials"] |
|
| 6 | 6 | ogImage: "https://miro.medium.com/v2/resize:fit:4800/format:webp/1*Tp42Ey9Uvdb6njsaXHBOTA.jpeg" |
|
| 7 | 7 | --- |
|
| 8 | + | ||
| 8 | 9 | If you’re a developer in the NFT space, you have probably had to fetch IPFS content before, and depending what tools you use the experience is varied. Using a local IPFS node is not very practical or fast, and using a public gateway can be risky due to congestion. Dedicated Gateways on the other hand are much faster, and are great for app development. But what if you have to fetch an entire NFT project through IPFS? That could be 10,000 images at 5Mb each, awful for web page optimization, and you have to load every. single. one. How is that gonna work? And then what happens when you have another NFT project? |
|
| 9 | 10 | ||
| 10 | 11 | Pinata’s [Dedicated Gateways](https://docs.pinata.cloud/gateways/dedicated-gateways) already have a blazing fast global CDN (content delivery network) that caches content on the first load, so already you’re off to a good start, but that’s still a lot of data to pull through a webpage. With the rollout of our new pricing plan and features, we’ve released a new tool for everyone: **Pinata Image Optimization.** |