SCB 10X BlockCamp 2022 from interns’ perspective: Discovering Your Potential

--

SCB 10X Blockcamp is a 6-day hackathon open to aspiring college students who are interested in entrepreneurship within the blockchain industry. The camp consists of 12 product owners (PO), and 18 developers.

BlockCamp #1: Fireside Chat — What Makes A Great Web3 Product Idea?

Fireside chats are casual topic-focused conversations. Though, we’ve had the honor of having some experts lead the discussion, the nature of the event is very much spontaneous and Q&A-based. The opening fireside chat poses the question,

What constitutes a great web3 product idea?

Hosted by three Defi veterans; Unnawut from SCB 10X, Sawit — Project Lead from Nebula Protocol, and Calvin Chu — core builder of Impossible Finance, first introduced how they first got into crypto in college, and their interest has ever since drawn them deeper into the topic. We later learned that this passion stems from their strong belief in the digital economy and Web3.

These mediums, they explained, enable us to overcome barriers of limited time, resources, and demographic restrictions. For example, NFT has created a global economy/market for art, allowing anyone to enter a global market from day one.

However, succeeding in this digital economy is not so simple as we’re still unfamiliar with many market behaviors; e.g, specific characteristics of bull vs. bear market. Thus, they shared with us what they viewed as useful considerations to keep in mind when building a web3 product.

Firstly, the people. Our weaknesses can be compensated by our teammate’s capabilities and vice versa. We should be deliberate when choosing who we work with, picking individuals who share the same interests, priorities, and mindset. Our favorite technique by Calvin was to ask, “what’s the most recent thing you read?” — the kind of information we consume can say a lot about us.

Secondly, the turning point. If we don’t achieve our objective on the first attempt, which is quite probable, the question then becomes how we recover from the scenario. When responding to a junior’s question, “How do you know when to pivot?”, Tan answers from personal experience that sometimes we have to rely on our own instincts.

The message we got here, though, was that as product owners, we should have a solid and thorough understanding of our product’s standing and direction.

BlockCamp #2: Fireside Chat — Achievements, Pivoting, Struggles

We held the second fireside chat in the afternoon of the second day of Blockcamp. During this session, we were joined by Kasidej Phulsuksombati, Senior Engineering Manager at Nansen, and Pisuth Huang, CEO of Knowhere Labs who shared the route, good, bad, and ugly, they had taken to reach their goals.

This session focuses on Ape Board (now Nansen Portfolio), the project that Kasidej led at SCB 10X during his time. Ape Board is a Defi sector consisting of a crypto-asset aggregator and portfolio dashboard that monitors and displays all users’ Defi activities across various chains.

Ape Board, we learned, stemmed from Kasidej’s pain from having to manually update his crypto spreadsheet daily. This struggle prompted him to write codes that summarize everything, which he then shared with other SCB 10X employees. Through talks on Discord and Twitter, however, Ape Board rapidly extended beyond the company and now has over 250,000 active users.

Listening to the talk, we felt their genuine interest in customer loyalty. Both invest a great deal of time and energy into personally connecting with the users for input. This friendly positioning makes it no surprise then that the kind of word-of-mouth that got out would lead to both Nansen’s and Knowhere Labs’ success we see today.

Our major takeaway from the talk was that every difficulty presents an opportunity. In this scenario, Kasidej did not limit himself to a specific role like a product owner, developer, or designer. He took advantage of all opportunities, leveraged his personal experience, and produced something 10X larger than they’ve ever created before.

BlockCamp #3: Tech Training -Introduction to Blockchain Technology Stack

Guest Speaker: Waranat Suttikan, SCB10X software engineer

The first tech training underlines core blockchain ideas: evolution of web3, stack overview, and developer tools. Though most participants are well-versed in the digital world, we think the contextual knowledge here proves to be useful groundwork for the next few days. Here’s our quick rundown:

Evolution of Web3

Web1 was read-only; the era of flipping through static online documents and blog posts; web2 is the read/write internet as we know it, where users also act as content producers. The evolution of Web3, coined as read/write/ own, is powered by blockchain technology and promises a permissionless society.

Stack Overview of Blockchain Technology

  • The network layer and the EVM machine. One useful analogy for us was that the EVM machine functions like a java compiler which translates high-level languages into executable bytecode.
  • The interaction layer is divided into data access and block explorers.
  • Presentation layer. No time is wasted. We get an overview of tool preferences backed by personal experiences. Ether.js’s developer-friendliness over Web3.js. Cost-friendly and efficient IPFS (Inter Planetary File System) and Pinata over conventional decentralized storage.
  • Lastly, the application layer as we know is the most interesting layer to build on for developers and the most intuitive for users. This includes Defi, ENS, Metamask, Wallet, NFTs, etc.

Developer Tools/Hacks

No tech session is complete without coding tools/hacks. The examples were generous so we picked some favorites to share: Rainbow UI Kit, useContractRead/useContractWrite, Wagmi Hook Function, and Vercel.

BlockCamp #4: Tech Training — Smart Contract Development on The EVM

Guest Speaker: Rati Montreewat, SCB10X blockchain engineer

We now focus on something more specific: smart contracts.

A distinguishing feature of smart contracts is that it is permanent. Once it is deployed, the contents cannot be edited, deleted, or upgraded. Inefficiency in the coding structure in the world of smart contracts also comes at a price — the infamous gas fees.

Clearly, the level of precision and accuracy needed for smart contracts calls for a deep understanding of both domain and technical knowledge.

Our next question, then, is which to learn first.

This session claims both. In an industry where things flip overnight like crypto, we must be aware of both the latest updates in the domain and technical knowledge to avoid wasting time on skills that have become obsolete today.

Now, in addition to writing, an equally important skill is the ability to read codes. We learned three new ways to read a smart contract.

First, a line-by-line code review. 20% of our time should be spent reviewing code on the lowest level to detect conventional errors.

We then spend another 20% on global review. This is a mid-level detail check where we skim through the code to see how the system fits together.

The rest, 60%, we ponder business logic- essentially, whether this code serves the right purpose at all.

A pro tip we got is to also use frameworks such as Truffle or Brownie to test codes to minimize unexpected errors. As they say, it’s better to be safe than sorry.

Sounds good, but what would a safe code look like?

As Thoreau says, “simplify, simplify, simplify”. More complexity means more attack vectors. Here are some pointers mentioned to help us streamline our contracts:

  • There is no shame in using tested and audited code to ensure the functionality
  • We should be generous with code testing.
  • Staying up-to-date with the software community. A posed caveat, however, is that sometimes it is safer to go back to one version from the latest version since we know which bugs to anticipate and how to handle them. This becomes especially useful when one cannot alter smart contracts after deployment.

The session finishes off with one last trade-off for us to ponder: security vs. speed. Although it is ideal to be 100% secure that contracts function properly, the rate is just as vital in the world of Web3. Finding a balance between the two is an ongoing but necessary challenge to overcome and write the most effective and fruitful smart contract.

BlockCamp #5: Tech Training — Cosmos Ecosystem

Guest Speaker: Pakorn Nathong, SCB10X blockchain engineer

As someone with no background, we feel this session is a nice 101 lecture into the Cosmos ecosystem. A lighter one compared to the preceding training, but nevertheless, an eye-opening topic to be aware of as web3 developers. In this post, we share our class notes with others hoping to get a general sense of what the Cosmos Ecosystem means.

Introduction of Blockchain

To put it in Pakorn’s own words

“Deterministic state (e.g., Token balances) machine replicated on nodes that do not necessarily trust each other.

The layered structure of the Cosmos blockchain architecture has been divided into three primary layers:

  1. Application: update the state given a set of txs (Processing tx)
  2. Consensus: enable nodes to agree on the state of the system
  3. Networking: propagation of transactions

Tendermint Explained

Pre-Tendermint, building a blockchain requires building all 3 layers from 0. Now, instead of forking an Ethereum codebase to develop blockchain, we can just focus on building the app and let Tendermint handle the distribution on different protocols.

Tendermint is open-source software for launching blockchains, allowing us to write applications in any language and interact with other Blockchains. Essentially, how it works is that it provides the networking and consensus layer as a generic engine through which any arbitrary application can be built.

Some of its useful properties include instant finality, meaning that transactions are finalized as soon as a block is created, and a block time is in the order of 1 second (> 1000 TPS).

Internet of Blockchains- What Cosmos Is

To understand Cosmos, we first have to understand what problem it solves.

IBC (Inter-Blockchain Communication) is a protocol that allows two heterogeneous blockchains to transfer tokens to each other. This requires a network of blockchains. Now, the number of connections in the network grows quadratically with the number of blockchains — which means building a blockchain network is complicated and problematic. This is where Cosmos comes in.

Cosmos proposes a solution by dividing a modular architecture into two classes:

  1. Hubs: blockchains specifically designed to connect Zones together
  2. Zones: regular heterogenous blockchains

When a zone is connected to a hub, that zone automatically has access (receive/send ibc packet) to every other zone connected to that hub. This means a zone only has to trust its hub.

Cosmos — Cosmos Hub and Zones

The first Hub to launch in the Cosmos Ecosystem will be the Cosmos Hub, a public Proof-Of-Stake blockchain whose native staking token is called Atom.

Cosmos SDK

The Cosmos SDK is an open-source framework for building multi-asset public Proof-of-Stake (PoS) blockchains, like the Cosmos Hub. It allows developers to easily develop blockchain with Tendermint and ABCI and connect each blockchain IBC.

Consequently, it decreases the difficulty and time-consuming to create native application layers from 0.

Simplified architecture of a Cosmos-SDK-based blockchain

Cosmos SDK Modules

The Cosmos SDK provides the basic functionalities every blockchain application needs and enables developers to build modules that implement the business logic of their application. We view the SDK as little state machines in large state machines. However, an SDK module must have:

  1. Composability: each module can integrate and interact with each other
  2. Specialization: scope of each module should not interfere with the other

CosmWasm

CosmWasm is a smart contracting platform built for the Cosmos ecosystem by using the Cosmos module and Web-assembly execution efficiency. CosmWasm, a smart contract module on Cosmos SDK, enables custom applications to be built on the Cosmos chain while using Rustlang. Due to its composability, Cosmos SDK uses smart contracts to interact with each other through bindings, creating boundless opportunities for developers.

Don’t worry if you missed out on this year’s SCB 10X Blockcamp, be sure to follow our socials so you don’t miss out on our latest news.

📲 Socials

Twitter
Medium
Youtube
LinkedIn
Discord
Facebook
Website

--

--