My Coding Journey: Beginner to Pro

Hi @Skyler_Fly,

Welcome to the community forum :wave: Thanks for posting here.

I keep coming across your coding journey on Twitter. It would be great if you wanted to join @Jshanks21 and @Proteu5 in sharing your coding journey here in the community forum. https://forum.openzeppelin.com/tag/coding-journey

It would be great if you could share your Vue knowledge with the community.

You may want to check out https://github.com/PaulRBerg/create-eth-app by @PaulRBerg which has a Vue template.

Please ask all the questions that you need.

3 Likes

Thank you @abcoathup! I thought it might be something simple, but I was running on fumes at that point so I was having a really hard time focusing.

In my case, it always returns false without an explicit return statement.

1 Like

Hi @Skyler_Fly,

It sounds like you already have a lot of experience and momentum. I’ve never used Vue before so it would be really cool to see your implementation using web3 tools like Web3.js and Ethers.js with that framework.

I look forward to following your progress!

2 Likes

I have definitely been there. That is where a second pair of eyes helps. Which is great to have a community to share it with.
Writing some unit tests can also help shake out the problem.

I was hunting through the Solidity documentation to see if it specifies what happens if there isn't an explicit return value. I am surprised that there isn't a warning in the compiler.

1 Like

Day 31:

  • Started posting my coding journey on the Cent social network. Interesting project with a lot of potential imo. Cool way to monetize your social media activity.

  • Successfully minted an NFT and set its token URI to an image uploaded to IPFS. Now just need to combine these steps in some functions and make them accessible from the UI.
  • Had an “error” that @abcoathup helped me correct. Couldn’t use the _exists() function to check if an NFT was minted. Forgot to use explicitly have the function return the result.

  • Found a Github repo with code for a trading bot that trades on V1 Uniswap exchanges. Tinkered with it to determine the current Eth price in DAI and USDC.

1 Like

Hi @Jshanks21,

Great to see you sharing the love in multiple mediums. I think coding journey’s are awesome to read.

I use Peepeth - microblogging with a soul. I tried Cent but didn’t get too far into it.

I am now playing with ERC1155 which is in OpenZeppelin Contracts v3.1 - first release candidate

Thank you @abcoathup!

I can’t think any reason not to share it in as many places as I can. Plus, it’s an easy way for me to try out some of these social media dapps since I’m not the type to make regular posts otherwise.

I heard people mention Peepeth in different ares of the space, but I haven’t checked it out myself. I’ll take a look and probably start sharing there too. :laughing:

I saw that ERC1155 was added in a recent install of the contracts library! Very cool. I’m looking forward to playing with it. I have a general understanding of how the contract is used, but am grateful for any added insight.

It seems most useful for dapps that want to use both ERC-20 and ERC-721 on their platform but don’t want to use separate contracts to manage all those functions, right? Is there another advantage to it?

1 Like

Hi @Jshanks21,

I am a fan of personal branding. Using the same username, the same profile picture everywhere you can, post quality content and make yourself easy to find.

You may need to tailor your content for different mediums so that it is more native and may want to also link to a source such as a blog or the forum, even if you are reposting.

I think exploring social dapps is great for learning. I learnt a lot experimenting with dapps on mobile, especially during network congestion:

ERC1155 is a multitoken standard. So is great for any solution which has multiple tokens (fungible, non-fungible or a mixture of both).

ERC20 followed by ERC721 have high ecosystem adoption, so it depends on the use case of your solution what token standard to use. I think gaming is a great fit for ERC1155 and OpenSea supports it.

1 Like

Yes, I agree on the personal branding. I didn’t use social media before I got involved with crypto. Now I can see how important it is for connecting when so many people in this industry are so spread out. And what you say makes sense when someone only knows you through conversation and a profile picture.

Yes, I should do that. I don’t like spending a lot of time writing them out on all these platforms because they take a lot of time all together. But they would probably see more engagement that way. That’s a good idea to link back to the longest thread, source of truth lol.

Good to know about ERC1155 for future projects. On an unrelated note, I got an error on the NFT gallery project I’ve been working on, and it seems related to web3. I’ve been researching the pros and cons of web3.js and ethers.js because a lot of solutions seem to relate to ethers.js. What are your thoughts on these two libraries?

1 Like

I have done very little front end work, and when I did I used truffle+ web3.js.

Community members who use ethers.js appear passionate about it. ethers 5.x has recently come out.

From Annotated edition for the June 14, 2020, Week in Ethereum News

If you’re starting a new project, use ethers.

1 Like

Yeah, I've read lots of good things about it. It's supposedly more dependable and maintained more regularly.

I also read that web3 will be including more components from ethers.js v5.

Another library that will benefit largely from this modularization is Web3.js library which currently pulls in the entire ethers.js library, but only requires the ethers.js ABI coding components; once v5 is ready for production, it can import just the "@ethersproject/abi" package.

Seems like a good time to start incorporating it now that v5 is released.

1 Like

Day 32:

  • Deployed Color token to the Ropsten testnet and added it to my portfolio site.

  • Finished the core functionality of the IPFS uploader/NFT minter (needs a better name :sweat_smile:.) It successfully uploads images to IPFS and mints NFT tokens with a token URI pointing to that location. Still needs more testing and some tidying up on the front-end. But the core concept is there.

  • Applied for Gitcoin’s Kernel program. I feel like they’re probably looking for people with a more traditional background/more experience. But I have nothing to lose and a life-changing experience to gain.

// TODO: Finish testing and front-end for the ipfs/nft app so it’s demo ready. I also need to complete an order book exchange project I started before recording this coding journey, but got sidetracked from. Both of these do a better job of showing what I can do than the simple apps I have in my portfolio now.

ezgif.com-optimize

1 Like

I :heart: your attitude.

I recommend reading Austin Griffith's journey post.

Disclosure: I was given some CryptoTogs


I only just discovered recently that OpenSea supports IPFS URIs, so metadata can be decentralized and not need to rely on a centralized gateway.
e.g. ipfs://ipfs/QmTy8w65yBXgyfG2ZBg5TrfB2hPjrDQH3RCQFJGkARStJb
See https://docs.opensea.io/docs/metadata-standards#section-implementing-token-uri

2 Likes

Haha thank you!

It’s funny because I think learning to code has played a large part in my attitude. Adopting a growth mentality has really changed my perspective on personal progress and the feeling of “not being good enough” for a project, job, or venture.

In trying to internalize that growth mentality, I’ve noticed a shift in my thinking from trying to learn everything before trying something to jumping in and learning fast as I go. It’s also done a lot to improve my self-confidence since I can read and write code that less than a year ago might as well have been an alien language. I’m focused now, and only looking in one direction now.

Thank you for sharing the article! I’ve been exploring Austin Griffith’s repos and he has a lot of really cool tools, like Dapparatus, that I want to integrate in my own projects. His story is very inspiring and quite relatable. Ultimately, I want my current project to hide all the blockchain stuff, and this has some great resources for how I can do that. Learning to do that seems like the best thing I can learn to provide value in the space right now.

That’s awesome! If I understand, this means I don’t need to rely on Infura or some other service to make sure my app can still upload to IPFS. Zero gatekeepers! Though I do appreciate Infura’s service. :laughing:

1 Like

Day 33:

  • Successfully deployed the demo NFT gallery to the Ropsten tesnet, and added to my portfolio for anyone looking to try it out. There’s still a lot more to do, but it successfully uploads an image to IPFS and mints a NFT which is the core functionality.

  • I’ve uploaded a LOT of images to IPFS testing this thing, but this image is the first to be minted into a live testnet NFT.

  • Did some research on various token economic models that can be implemented for a business use case to incentivize participants. Multicoin Capital has a great article that describes two models that utility tokens fall into, work tokens and purpose-driven tokens.

  • Started researching quadratic funding because I keep hearing about it and I’ve seen it being used for Gitcoin grants. Really creative way to fund public goods. I think a lot of small businesses could benefit from this if deployed in an accessible way. Learning how to implement this could save hundreds of local businesses rn. I swear I learn about some revolutionary idea or concept every day in this space. It’s all sitting here just begging to be used. :star_struck: Makes me wish I had started coding years ago so I could get there faster.

1 Like

Day 34:

  • Someone referred me to the crypto startup videos a16z recently released. Incredible insight from people like Brian Armstrong from Coinbase, Robert Leshner from Compound, and Sam Williams from Arweave among others.

  • Began switching my React apps from component-based to hook-based and adding style components for the front-end. Started exploring Redux for managing state with the NFT minter. Spent a lot of time this week re-tooling my front-end approach overall.

  • Applied for the Arweave Open Web Incubator. I think an app that backs up videos to the permaweb could be very interesting right now given the YouTube censorship controversy and TikTok spyware issues. And adding a PST (Profit-Sharing Token) could be a game-changer for creators/users.

1 Like

Hi @Jshanks21,

There is also a virtual hackathon being run by ETHGlobal and Protocol Labs that might be of interest:

There are a number of decentralized video platforms, so you may want to look at a specific use case. Decentralized content may also need either moderation on the client side or ability for users to create filters that can be shared.

1 Like

Thank you @abcoathup for the great suggestion!

I hadn’t heard about this hackathon before, but it seems perfect as I’m getting more into decentralized storage. Between this and the Arweave Incubator, I should get a good idea of the differences between these solutions.

I’m familiar with Steem and Hive as decentralized video platforms. Are there any others on Ethereum you recommend I check out? I haven’t explored this much yet.

1 Like

Hi @Jshanks21,

I don’t think I have come across many decentralized video on Ethereum.
You could look at https://pepo.com/

1 Like

Thanks @abcoathup.

On an unrelated note, I’ve been looking at the erc-1155 contracts added to the library. However, I’ve noticed there is no upgradeable package for erc-1155 yet. Is this on its way or could it be a while before we see it? If it’s not something we should expect soon, would this be a worthwhile PR?

1 Like