My Coding Journey: Beginner to Pro

Hi @Jshanks21,

For timing on ERC1155 upgradeable version see:

Also note that the OpenZeppelin implementation has a single token URI and uses the {id} scheme.

1 Like

Thanks @abcoathup. That’s perfect.

I’ve been experimenting with IPFS the past couple days, using the CLI and GUI to upload files. As well as exploring the JS library for programmatic implementations.

I tested a basic sample ERC1155PresetMinterPauser contract in Remix without setting URI to start. When I mint a new token, it fails unless I pass some bytes data. What data is meant to be provided here?

I’ve just been passing the hashed bytes data from ERC1155.sol _INTERFACE_ID_ERC1155_METADATA_URI = 0x0e89341c;. Specifically just 0x0e89341c. Is this correct? Or what should I be adding here?

1 Like

Day 36:

  • Started using Scaffold-Eth’s IPFS branch as a base for my own ERC-1155 minter.

  • Spun up an a local IPFS daemon to speed up file uploads and requests.

  • The IPFS node GUI is easy to use once available through the daemon. Uploaded a couple directories of images to include in future metadata JSON files for the 1155 contract.

  • Started digging deeper in REST API calls with more traditional tools like Express.

  • Was able to use MongoDB after some research for a quick REST tutorial project.

ipfs-local_D36

Apologies for the delay in responding. I was on vacation last week.

My understanding is that it is:

Additional data with no specified format

I use 0x0 but you could use any meaningful data for your specific solution.

The EIP describes it as follows:

https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1155.md#rules
The _data argument provided by the sender for the transfer MUST be passed with its contents unaltered to the onERC1155Received hook function via its _data argument.

1 Like

Day 37: Things are heating up…

  • KERNEL week 0 ended and week 1 began. Week 1 is design week for project prototypes. I’ll be writing more in-depth updates on KERNEL in a separate thread because there’s kind of a lot, and I like keeping these as quick updates. @abcoathup would Showcase be the best section to write about Gitcoin’s KERNEL program?

  • Had an error when adapting Austin Griffith’s Scaffold-Eth for my NFT minter project. There’s a lot to explore in the Scaffold, so it was tricky for me to find.

  • Fortunately, the man himself came to my rescue and helped me get it working again!

  • Alan Curtis from Radar Relay reached out to me for a chat. He gave me a lot of insightful ideas to explore for contributing to the industry and gaining exposure. It was a very energizing talk and now I somehow have more ideas to explore!

First of all, congratulations on getting on to the program. :rocket:
I would love to hear about your experience. Please post in #general:showcase. I can always move the posts to their own Journey category later.

Austin Griffith is awesome! I was watching the 3 minute scaffold-eth video and included it in Crypto Trends 20 July 2020

Great to hear. Keep posting, keep sharing and more of this will happen. For some more inspiration, I recommed reading The Infinite Machine. Ethereum is still new, the history is only years old and is still evolving around us.

1 Like

Thank you! I’m very excited, and I’ve already learned a lot!

He’s quickly become my hero for web3 development. Haha I love bow tie Fridays! He’s a mentor in the KERNEL program, so I’ll probably get the chance to chat with him. I already have been on Twitter and Telegram, but something about a video chat with him gives me butterflies. :sweat_smile:

I’ll definitely give it a read when I have some time. It’s weird to think it’s only been 5 years. So much happens in crypto in such a short time that it seems so much longer than that.

1 Like

Day 38:

It’s been a good while since my last update, but KERNEL has kept me very busy over it’s first build week. Build week two starts in a few days, so I’m expecting to stay busy if not get busier. That said, here are a few things I’ve been up to.

  • Before the first KERNEL build week started, I refreshed myself on building with the React.js framework by going through the Ivan on Tech ReactJS course.

  • A week ago, design week ended and the first build week began. The project I joined for the KERNEL is called DFAME, an acronym for Decentralized Fashion, Art, Music, and Entertainment. Our product designer finished his mock ups and we started building a demo based on the designs. As you might say, we’ve been “heads down” getting this thing up and running.

  • I came across the Community Lead position at OpenSea and applied for the role.

  • Over the past week, we finished most of the core functionality needed for the demo. Currently, it allows users to upload and watch videos. The video feed automatically updates when new videos are added, which are hosted using AWS (we have plans to switch to a decentralized solution on the roadmap.) Creators can set a price on their content which users can unlock with a $BRAND token. The web3 aspects have yet to be implemented. I’m now working on making it look as close to the finished product as I can to make the demo experience reflect the real experience once it’s complete.

1 Like

Hi @Jshanks21,

Wow, sounds like you are busy. I look forward to seeing the demo of DFAME.

Good luck with the OpenSea Community Lead role.
I had a quick look at what you would need to do.
Out of curiosity what is your favorite NFT?

Mine is:

Thanks @abcoathup!

It’s coming together pretty well so far. We’re displaying it for HackFS next week and Kernel has a midway presentation on Monday. Yesterday we recorded a demo for HackFS, but there’s still a lot to do to make it ready for a live demo.

It would be a great opportunity to dive deeper into NFTs and learn more about how to manage them in a marketplace/community platform. However, DFAME has plans for an NFT marketplace down the road too. Tbh, as I find myself getting more involved in my Kernel project and work with the team, I feel more confident that it could be the right place for me to take my skills to the next level.

That’s a tough call. Out of the NFTs I own, I would say the one below. Mainly because it was for a limited time event that reflects an historical real world event. But my Axies are super cute, so it’s a close call. :rofl:

1 Like

Soo day 39… But really I’ll try to recap the past couple weeks. (And I didn’t take screenshots of everything over that time. Sorry…:sweat_smile:)

  • So we finally reached the end of build week 2 in Gitcoin’s KERNEL. There’s still soo much to do! But we have done a LOT in that time. These past two weeks feel like months unto themselves. Today was our midway expo day where we presented our pitch deck and a video demo of our app so far. Below is the video we used for the presentation.

  • We got a lot of really good feedback on the project and made some great connections with people in the space from Consensys and possible future users/content creators for the app. We’ve already been getting a lot of support from the Abridged team and plan to incorporate their wallet in production.

  • The app currently allows users to view content if they hold enough personal tokens that a content creator specifies. They don’t have to spend the tokens, just hold them. We thought this would be a better dynamic for creating a stronger, more unified community through personal tokens with less people buying just to dump.

  • I’ve been working on incorporating the Roll wallet to facilitate their social tokens and various token creators. We already have one of their creators ready to move her follower base to the app once we have a MVP.

  • Our business lead sent out more detailed notes on tokenomics we’d like to implement in the production version of the app. A lot of it includes our ultimate goal when we also have a marketplace for digi-physical NFT redeemables, in-app liquidity pools, and an Aragon DAO structure that should also allow for bonding-curve mechanics. Right now, we’re just doing video content uploads and hold a balance to access. We talked about implementing fees or flat rate for minting tokens and facilitating the distribution of tokens to a community. Still in the works before that’s finalized.

  • I was able to play a little bit of Dark Forest the last day before the v0.3 season ended. Ranked in the low 80s after an evening of playing. Looking forward to trying again with a little more time to be more competitive.

TODO: Now that Roll integration is functionally complete, I’m focusing on integrating 3Box profiles for users, which uses IPFS in the background for storage. Already have profile data working, but need to troubleshoot profile pics. Fortunately, I’ve already made an IPFS image uploader in a previous personal project when I was working on ERC-721 & ERC-1155 NFTs, so should just be copying some old code from that repo and modifying it for this.

++ Fun side note: today one of the Gitcoin organizers announced that they’re trying to get Vitalik to be a judge for the final demo days on Sept 2nd & 3rd. I’ll need to mentally prepare so I don’t fanboy out too hard and can actually present if so lol.

1 Like

Hi @Jshanks21,

Wow, awesome update.

If I understand correctly, a user needs a certain level of the creators (or any other token the creator specifies) tokens to be able to watch a creators content. So a ceiling fan is cheap, but makeup tutorial is more expensive. Each creator could have their own tokens or their could be tokens for a community.

Tokenomics are a fun challenge.

I like that it appears to be mobile first.

Amazed that you also squeezed in time to play Dark Forest.

I met my first Ethereum community member not from Australia at Korea blockchain week and I was in fanboy mode (Dino Dan).
The hotel next to Devcon in Prague, breakfast was always full of the Ethereum community. Exciting times for you.

1 Like

Thank you @abcoathup!

It’s been really exciting so far. I think Gitcoin’s KERNEL is an absolute game changer for me to build a career in blockchain. The amount I’ve learned and people I’ve met would not have been possible without it.

Yep, that’s the core idea. We would like to break videos into a general content section, where there’s just a flat rate that the creator can decide, and special content that has its own unique price per video that the creator also determines.

The content creator would most likely request their community to hold their own token to access the content, but they could request other creator’s tokens if they prefer or want to promote them. We will also be adding a feature where creators who collaborate on joint content can request that content only be accessible if members hold a certain amount of each of their tokens, or just one or the other if they decide.

Tokenomics is a lot of fun to talk about and think about, but it’s also very time consuming. I’m glad we have someone on our team who’s focusing entirely on that because while I’m happy to give input, I don’t have the time to build and work that out in detail.

Yep, we’re making it as a PWA (Progressive Web App) so that it’s mobile friendly first, but won’t necessarily be subject to app store/Google play policies as it can be accessed on the web. We currently have a creator already interested in migrating her community to the app and surprisingly they seem to use desktop mostly for her content. We’re using TailwindCSS, which makes it pretty easy to build something to be responsive for either medium.

We had our HackFS judging on Friday, which went well. So I took Saturday afternoon/evening off to unwind and blow off a little steam. I love RTS games, but haven’t played a video game in over a year at this point. I convinced myself this was “research” in zero knowledge proofs in blockchain gaming, which made me feel less guilty about playing. :laughing:

I would love to go to one the Ethereum conventions, but current circumstances obviously make that highly unlikely. And before covid, I didn’t have the means to make a trip to any of them. Technically, I still don’t since DFAME still doesn’t have any funding, but I have a good feeling about it and am willing to put all my chips in this basket. :sweat_smile:

1 Like

Thanks as always for sharing. Loving following your journey.
As long as you are managing to keep a roof over yourself and manage to eat, then time spent building a product is an awesome investment. At the very least you are 10x ing your learning.

As for events, your opportunities will come. Outside of the community in Melbourne, I have only been to Korea Blockchain week (for 1 day), Devcon in Prague and the Peepeth Buidl Bali retreat.

1 Like

I 100% agree!

On a somewhat related note, I’ve been doing some research to localize crypto hotspots where the most innovation and activity exists. So far, it seems like southeast Asia is a particularly vibrant area for crypto.

I was hoping to get your thoughts @abcoathup on whether you agree or if you know of other places in the world with similar characteristics.

1 Like

Hi @Jshanks21,

When I think of hotspots, the following come to mind:

  • Berlin
  • Buenos Aires
  • Toronto

I don’t know much about the crypto scene in South East Asia (outside of Australia). Though it appears very active. (thinking Korea, Taiwan and Singapore)

One factor is that hotspot communities may mostly be in the main language of the territory (unfortunately I only speak English), so it will depend what languages you speak.

1 Like

Thank you @abcoathup!

You’ve given me some good leads for further research. And that’s a good point about the hotspots being only in the main language. I’m a native English speaker with some conversational Spanish, so I could be pretty out of the loop in Asia if that’s the case.

On a separate note, I recently heard about the News Media Bargaining Code that’s being proposed in Australia. I was hoping to get your thoughts/opinions on its likelihood to pass since it could have tremendous ripples effects for the rest of the world regarding content distribution on platforms like YouTube.

1 Like

Hi @Jshanks21,

Google are displaying warnings on search and YouTube but other than that I haven’t seen much in the press.

Day 40: I know I’m getting worse at this instead of better. :sweat_smile:

So in my last update, we were wrapping up KERNEL’s build week 2. That was almost a month ago and KERNEL has officially ended as of last week. There’s too much to cover and not nearly enough time for me to stop and take pictures of everything. However, I’ll do my best to cover the highlights.

After build week 2 and the midway expo, I was pretty much heads down for the rest of the program along with our other devs to have something ready to present for the final demo. Our business lead, product design lead, and front-end dev/team organizer focused on applying to any accelerators or other investment opportunities they could find. They were also busy getting the dfame website ready for new creator signups and promotion.

We got a lot of signups from people interested in being creators on the platform. Many of them were already in the KERNEL program with us, but they also have a large following in the personal/social token space. For example, $ALEX, $NAZ, and $JAMM applied. Lots of encouragement to build this thing to the best it can be.

The final demo day was only reserved for 20 out the 40+ projects in the KERNEL program. Fortunately, we were one of the 20 to present. We were able to talk to a couple potential investors and answer questions. But more in-depth discussion was scheduled for a later date.

We already had a few calls with different investors and the guys from the Tachyon Accelerator since then. Still in talks with the investors and waiting to hear back from Tachyon about whether we’ll be participating or not.

I wish there was more to say and share, but, like I mentioned, I’ve been buried in the code for most of this time. I was last focused on integrating 3Box profiles, which use IPFS for decentralized profile data storage and have some other nice features we can add later like chat. Well, that’s integrated now, so users can view, edit, or create a 3Box profile all within the app. Still some optimizations to make so it looks better though.

With 3Box more or less finished, I started working on integrating Metamask more so that user’s balances can be displayed and used to determine if they have access to certain content. We made a new authorization server for users to choose a wallet to use in the app, and I was responsible for connecting the app to that server, saving the returned data after authorization for use elsewhere in the app, and updating the app’s state based on this new data.

It’s been a whole thing lol. But I finally got it pretty much wrapped up today. Just need to do some more testing to make sure it doesn’t break. Unfortunately, in my testing earlier today, I uploaded a new video with a different token to test and that broke everything. All the wallet stuff worked perfectly, but I forgot to add the changes I made in the profile and edit profile pages to the profile header found in the app’s feed to show who uploaded a video. This caused everything to break because the app can’t read the data for the profile image since it’s been formatted differently. I’m wiped after tinkering with the wallet stuff, so will have to fix this first thing in the morning. The easiest solution is just to remove the video from our host server to get things working again, but this is just a temporary fix.

//TODO: get pics of app to add to this post.

1 Like

@Jshanks21, I am so pleased for you.
I literally stood up in my makeshift office and clapped.
Buidling and breaking and buildling. Well done.

:man_standing: :clap:

1 Like