Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Onbloc's Builder Journey #29

Open
dongwon8247 opened this issue Aug 7, 2023 · 34 comments
Open

Onbloc's Builder Journey #29

dongwon8247 opened this issue Aug 7, 2023 · 34 comments
Assignees

Comments

@dongwon8247
Copy link
Member

dongwon8247 commented Aug 7, 2023

Welcome to the Onbloc's Builder Journey!
This issue is a comprehensive introduction to Onbloc and a place where you can expect regular updates from us.
I hope you find this issue helpful to get to know about Onbloc, and we very much look forward to collaborating with you! Let's gno!

Introduction

Onbloc is a software development company that specializes in developing essential public infrastructure tools for the Gnoland blockchain ecosystem, including Adena (a non-custodial wallet), Gnoscan (a blockchain explorer), and Gnoswap (a decentralized finance platform).

Our goal is to play the role of ConsenSys for the Gnoland ecosystem. The importance of providing reliable key infrastructure tools such as MetaMask and Infura has been proven by the impactful contributions that ConsenSys has made to the success of Ethereum. These essential tools should be made available to the developers and dapps, free of charge, to accelerate the adoption of a blockchain ecosystem. We believe that the developer-centric design philosophy of Gnoland has the potential to place it as one the most widely-adopted smart contract platforms in the world, and we're committed to supporting this initiative by providing these tools for its ecosystem.

We're currently a team of 9 strong individuals with diverse backgrounds in the blockchain industry including Web3 projects, crypto exchanges, consulting firms, incubators, and infosec institutes, with an average career of 6+ years. Our members are firmly aligned with the vision of onboarding the masses to Web3. To achieve this goal, we believe that designing a quality UX/UI is essential for Web3 infrastructure services, an area in which we possess expertise.

This is our team member's Github handles:

Onbloc links:

Products

I'll briefly explain our products with related links here. You can find detailed milestones of each product in our Grants Program Submission (Link).

Adena

Adena is a friendly, non-custodial, and open-source wallet for the Gnoland blockchain. Adena currently supports a variety of wallet functionalities including creating/restoring wallet, viewing/sending/receiving tokens (including GRC20s), signing Gno realms, displaying transaction history, interacting with dapps, supporting ledger, google login, multi-network/account, the in-app faucet, AirGap Accounts, and more. We're working on adding new features such as GRC721, notifications, and more. Also, we're exploring a way to support new and more secure signing methods using std.Session.

Adena links:

Gnoscan

Gnoscan is a blockchain explorer for the Gnoland blockchain. Gnoscan currently supports on-chain activities in the main such as Monthly Active Accounts, Monthly Active Boards (/r/demo/boards), Newest Realms, and Daily Transaction graphs. Also, you can find detailed on-chain information that has been converted into a user-friendly format, making it easily readable, such as Account Details, Realm Details (i.g. /r/demo/users) and Token Details (i.g. foo) with raw contract code lines.

Gnoscan links:

Gnoswap

Gnoswap is an open-source concentrated LP AMM DEX built using Gnolang, aimed at providing the most simplified and most user-friendly LPing and staking experience, enhancing capital efficiency, for traders. Gnoswap is currently the primary project that the entire Onbloc team is focused on delivering. You can track our developments through the links below for GitHubs, Docs, and Blogs (we're releasing a series blog!). Please expect lots of updates on Gnoswap in this thread!

Gnoswap links:

Mics

Things that will be helpful for coming developers and dapps.

I'll use this hackerspace issue to regularly update on our journey on Gnoland, also the progress of our grants. Lastly, the Onbloc team has been loving & enjoying co-working with the core members and contributors of Gnoland. I'd like to say thank all of you for being in this bright and innovative ecosystem. Let's gno!

@adr-sk
Copy link

adr-sk commented Aug 16, 2023

Content

A comprehensive list of our content such as GnoDesk, blog posts, research, and product updates can be found in this issue: #48

@dongwon8247
Copy link
Member Author

dongwon8247 commented Aug 18, 2023

Releasing Gnoswap Docs_August 18, 2023

We're thrilled to release the first version of the Gnoswap docs. This docs include the rationale behind how we plan to contribute to Gno with Gnoswap, what makes Gnoswap unique, its core concepts, and $GNOS tokens.

Link: https://docs.gnoswap.io/

For the next step for the docs, we'll add a technical analysis of the core contracts of Gnoswap as we open-source the contracts in Q4 2023.

@dongwon8247
Copy link
Member Author

dongwon8247 commented Aug 23, 2023

Dev Call Updates_August 23, 2023

Done

Todo

Support

@dongwon8247
Copy link
Member Author

dongwon8247 commented Sep 6, 2023

Dev Call Updates_Sep 6, 2023

Done

Todo

  • Release of Gnoswap Interface v0.1.5
    • Develop the Governance and the Airdrop UI pages
    • Start developing frontend logic to integrate with Gnoswap Realms and APIs
  • Enhance Gnoswap Realms
    • Add various test cases
    • Code enhancements to prepare for open contributions
  • Participate in Gno Core
    • Start porting go packages to pure gno (blocked by #859)
    • [RFC] Anything we should work on or help?

Support

@dongwon8247
Copy link
Member Author

dongwon8247 commented Sep 20, 2023

Dev Call Updates_Sep 20, 2023

Done

Todo

  • Gnoswap Interface
    • Develop the UIs for Earn, Staking, and Governance
    • Develop frontend logic and start integration with realms and backend for the Swap function
  • Gnoswap Realms & Backend
    • Add various test cases
    • Code enhancements
    • Integration with the frontend
  • Gno Core

Support

@dongwon8247
Copy link
Member Author

dongwon8247 commented Oct 11, 2023

Dev Call Updates_Oct 11, 2023

Done

Todo

Gnoswap

  • Finish integration of basic functions such as Swap, Pool Creation, and Add Liquidity
  • Demo of basic functions
  • gno-sync program improvement
  • More blogs!

@gnolang gnolang deleted a comment from adr-sk Oct 11, 2023
@adr-sk
Copy link

adr-sk commented Oct 24, 2023

[Demo] Swap & Add Liquidity on Gnoswap

This is a demo video showcasing the core features of Gnoswap. The integration of realms/API to the interface is still a work in progress, but the following features are functional:

  • Connecting your wallet
  • Creating a pool
  • Adding liquidity
  • Performing a swap

Video Link: https://www.loom.com/share/56a4641fa2d3492681b5f74f11a9b727?sid=750642cc-908c-4412-bdfc-015d95855ed4

All of the code for the realms is available here: https://github.com/gnoswap-labs/gnoswap

@dongwon8247
Copy link
Member Author

dongwon8247 commented Nov 8, 2023

Dev Call Updates_Nov 9, 2023

Done

Todo

  • Continue the integration for Gnoswap
  • Adena UI development
  • Finish porting packages for Gno Core and move on to other tasks here
  • More blogs!

@adr-sk
Copy link

adr-sk commented Nov 22, 2023

Contributors Sync Call Updates_Nov 23, 2023

Done

Gno Core (Porting packages)

Adena

Gnoswap

Content

  • [GnoDesk] Week 3 of Nov 2023 (Link)
  • All About Gnoswap's Liquidity Mining (Link)

To Do

  • emit & event built-in functions #575 emit & event built-in functions gno#575
    • A call with Gno Core & Berty tomorrow to define scopes of the work for collaborative development
  • Gnoswap Beta Development
  • Adena Airgap & UI Flow development

@dongwon8247
Copy link
Member Author

dongwon8247 commented Dec 6, 2023

Contributors Sync Call Updates_Dec 05, 2023

Done

Gno Core

Porting packages

Contract-to-Contract Interaction

GnoVM Debugging

Adena

Gnoswap

Content

To Do

  • Seek feedback from the core team in the upcoming team sync for the PRs that could potentially be a blocker
    • chore: add contract-contract interation with ownership example #1262
    • feat: grc20 dynamic call with registered interface #1275
    • feat: native bigint using math/big.Int #764
    • feat: change denom of coin that minted by banker #875
  • Start the emit & event work with Milos feat: add file-based transaction indexing gno#546
  • Gnoswap Beta Development & Workshop Preparation
  • Fix Adena’s new design work and the UI Flow of the air-gap feature

@moul
Copy link
Member

moul commented Dec 7, 2023

Apologies, we must improve our responsiveness to your PRs, given your prompt reaction and adaptation to our comments. With upcoming hires, we aim to increase awareness of external urgencies, enabling us to assign review tasks to the team and address urgent topics more quickly.

Thank you once again. It's truly a pleasure working with you.

@adr-sk
Copy link

adr-sk commented Dec 20, 2023

Contributors Sync Call Updates_Dec 20, 2023

Done

Gno Core

Adena

Gnoswap

Content

To Do

@dongwon8247
Copy link
Member Author

Contributors Sync Call Updates_Jan 17, 2024

Done

Gno Core

Adena

Gnoswap

To Do

Gno Core

Adena

  • Finish development of the air-gap feature and new sign-in flows and prepare a demo.

Gnoswap

  • Improve improve improve...
  • Work on uint256 u256 gnoswap-labs/gnoswap#118 to replace with bigint
  • Research on the Portal Loop testnet and see if we can deploy the Gnoswap contract there
    • @dongwon8247 Question: Is there a guide on how to use the Portal Loop? or will there be a workshop focused on this? it would be helpful.
  • Research on the airdrop trend and identify DEX features that will help the onboarding of early users into the Gnoland ecosystem.

@dongwon8247
Copy link
Member Author

Contributors Sync Call Updates_Jan 31, 2024

Done

Gno Core

Adena

  • A demo of the air-gap feature and new sign-in flows!
  • QA & fixing bugs for 1.9.0, which we aim to release next week.

Gnoswap

  • Improved the "Earn" page and updated it on https://beta.gnoswap.io/ (check it out!).
  • Testing chained transactions with maketx run suggested by Transaction Chaining Method gno#1508 (comment)
    • @r3v4s Not sure transaction orders are guaranteed when a lot of transactions are requested at one time by different users.
  • Planning on new features that will help onboard users into Gnoswap, including Launchpad, Leaderboard, and Referral features.

To Do

Gno Core

Adena

  • Request review for 1.9.0v, which includes the air-gap feature and new sign-in flows.

Gnoswap

  • Test and optimize the Swap Router.
  • Work on replacing bigint with uint256 u256 gnoswap-labs/gnoswap#118
  • Plan on new features that will help onboard users into Gnoswap, including Launchpad, Leaderboard, and Referral features.
  • Improve UX/UI flows
  • Research on the airdrop trend and identify DEX features that will help onboard early users into Gnoland.

@adr-sk
Copy link

adr-sk commented Feb 14, 2024

Contributors Sync Call Updates_Feb 14, 2024

Done

Gno Core

Adena

Gnoswap

  • Refactoring the codebase of overall realms with an emphasis on security and optimization, thanks to effective-gno.
  • New Feature Development: Sharing your positions via URLs. This will allow LPs to simply share their strategies and engage in leaderboard campaigns planned for the future.
    • ex: gnoswap.io/earn/{user_address}

To Do

Gno Core

Gnoswap

  • Core realm codebase optimization (cont.)
  • Test and optimize the Swap Router.
  • Planning on Leaderboard and Referral features.

@dongwon8247
Copy link
Member Author

dongwon8247 commented Feb 28, 2024

Contributors Sync Call Updates_Feb 28, 2024

Done

Gno Core

Adena

Gnoswap

To Do

Gno Core

Adena

Gnoswap

  • Core realm & router optimization (cont.)
  • Prepare GnoSwap Workshop (Product-focused Edition) on March 5th.

@adr-sk
Copy link

adr-sk commented Mar 13, 2024

Contributors Sync Call Updates_Mar 13, 2024

Done

Gno Core

Adena

Gnoswap

To Do

Gno Core

Adena

  • Develop v1.10.0
  • Resolve minor remaining issues in Kristov's audit report

Gnoswap

  • Core realm & router optimization (cont.)
  • Preparations for the migration to the public testnet

@adr-sk
Copy link

adr-sk commented Mar 27, 2024

Contributors Sync Call Updates_Mar 27, 2024

Done

Gno Core

Adena

Gnoswap

Other

To Do

Gno Core

Adena

  • Develop v1.10.0
  • Resolve minor remaining issues in Kristov's audit report

Gnoswap

  • Core realm & router optimization (cont.)
  • Prepare for the migration to the public testnet.
  • Research about Transaction Chaining Implementation in other blockchains.

@adr-sk
Copy link

adr-sk commented Apr 9, 2024

Contributors Sync Call Updates_Apr 10, 2024

Done

Gno Core

Adena

GnoSwap

  • Core realms refactoring & optimization
  • API & RDB optimization

To Do

Gno Core

Adena

Gnoswap

  • API & RDB refactoring (continue)
  • Develop & integrate advanced LP features (Increase/Decrease Liquidity, Reposition, Copy Positioning...)

@adr-sk
Copy link

adr-sk commented Apr 24, 2024

Contributors Sync Call Updates_Apr 24, 2024

Done

Gno Core

Adena

GnoSwap

  • Core realms refactoring & optimization
  • New API Integration

To Do

Gno Core

Infrastructure

  • New onbloc-api development (specification, documentation, initial development)
    • Key Features
      • Permissionless access to Gno Json RPC and tx-indexer
      • Provide simple & useful ABCI query request methods
    • Supported Networks
      • potal-loop
      • test3

Gnoswap

  • Refined API Integration (cont.)
  • Improve Swap Router & Pricing Mechanism

@adr-sk
Copy link

adr-sk commented May 8, 2024

Contributors Sync Call Updates_May 8, 2024

Done

Gno Core

Infrastructure

  • onbloc-api development & documentation
    • Key Features (available for portal-loop and test3)
      • Permissionless access to Gno Json RPC and tx-indexer
      • Provide simple & useful ABCI query request methods

GnoSwap

To Do

Gno Core

Gnoswap

  • New API integration (cont.)
  • Swap router improvements

Infrastructure

  • Develop onbloc-api and integrate to GnoScan & Adena Wallet

GnoScan

  • Custom RPC URL & tx-indexer for permissionless network support
  • Links to GnoStudio in Realm Details

@adr-sk
Copy link

adr-sk commented May 22, 2024

Contributors Sync Call Updates_May 22, 2024

Done

Gno Core

GnoSwap

Mics

To Do

Gno Core

Gnoswap

  • Migrate to portal-loop
  • Test VWAP & Swap Router
  • Prepare launching on test4

Mics

  • Release the onbloc-api docs
  • Apply the onbloc-api to GnoScan and Adena (it will be more permissionless)

@adr-sk
Copy link

adr-sk commented Jun 5, 2024

Contributors Sync Call Updates_June 05, 2024

Done

Gno Core

GnoSwap

To Do

Gno Core

Gnoswap

Misc

  • Improve onbloc-api based on the core team's feedback and officially release the docs
  • Apply the onbloc-api to GnoScan and Adena (to be more permissionless & customizable)

@adr-sk
Copy link

adr-sk commented Jun 19, 2024

Contributors Sync Call Updates_June 19, 2024

Done

Gno Core

GnoSwap

To Do

Gno Core

Gnoswap

Misc

  • Improve onbloc-api based on the core team's feedback and officially release the docs
    • Integrate Scalar in the docs to add support for in-docs API calls
  • Integrate the onbloc-api into GnoScan and Adena (to be more permissionless & customizable)

@dongwon8247
Copy link
Member Author

Contributors Sync Call Updates_July 3, 2024

Done

Gno Core

GnoSwap

GnoScan

To Do

Gno Core

Gnoswap

  • Prepare launching on testnet4 (many bug fixes)
  • Finish GNS token development
  • Finish governance contracts development

GnoScan & Adena

  • Finish applying onbloc-api to GnoScan and Adena
  • Prepare supporting testnet4 and custom networks fully

@adr-sk
Copy link

adr-sk commented Jul 17, 2024

Contributors Sync Call Updates_July 17, 2024

Done

Gno Core

Adena

GnoScan

  • Testnet 4 & Portal Loop integration (X thread)
  • Full support for any Gno-based custom RPC networks & Tx-indexers
  • gnoEvent support

GnoSwap

Others

To Do

Gno Core

  • Work on the ongoing PRs above

Adena and GnoScan

  • Bug fixes
  • Planning on Adena SDK (NPM package)

Gnoswap

  • $GNS and staking rewards logic enhancements
  • Finish governance contracts development
  • Launchpad development kickoff

@dongwon8247
Copy link
Member Author

Contributors Sync Call Updates_July 31, 2024

Done

Gno Core

GnoScan

Adena

Others

To Do

Gno Core

  • Review the Gno kanban and pick up tasks

Adena and GnoScan

  • Working on Adena SDK and create a NPM package
  • Release the next version of GnoScan with the above features in tx-indexer

GnoSwap

  • Beta update with the latest development
  • Scoping out contract audit parts
  • Improve the codebase of GnoSwap with tlin

@dongwon8247
Copy link
Member Author

Contributors Sync Call Updates_August 14, 2024

Done

Gno Core

GnoScan

  • Improved the performance of the API and interface
  • Added the Latest Blogs session on the main page
  • A few UX improvements including shortening addresses in the path, setting key functions in the transactions page, and improving the Account Details page to show GRC20s.

Adena

  • Merged the PoC PR by @RezaRahemtola on the Adena SDK repository, and planned out an initial version of the Adena SDK

Others

To Do

Gno Core

  • Start tracking and working on the gas estimation issue

Adena

  • Work on Adena SDK and create an NPM package
  • Plan the scope of work for Adena before mainnet launch

GnoSwap

  • Update Beta with the latest development
  • Write a simple blog to provide a how-to-use guide for users
  • Scoping out contract audit parts
  • Start integration of the governance realms
  • Optimize the GnoSwap contracts

@dongwon8247
Copy link
Member Author

dongwon8247 commented Aug 28, 2024

Contributors Sync Call Updates_August 28, 2024

Done

Gno Core

Adena

GnoSwap

To Do

Gno Core

  • Continue working on the ongoing core tasks
  • Start tackling the gas issue
  • Upgradable Realms PoC

Adena

  • Continue working on developing the Adena SDK

GnoSwap

  • Finish integrating the governance realms into GnoSwap and test it out
  • QA & fix bugs in API and interface
  • Write a simple blog to provide a how-to-use guide for users
  • Work on the security part of the core realms with auditors

@dongwon8247
Copy link
Member Author

dongwon8247 commented Sep 11, 2024

Contributors Sync Call Updates_September 11, 2024

Done

Gno Core

Adena

GnoSwap

  • Integrating governance realms to GnoSwap (Contract, DB, API, and Front-end)
  • Finalizing an audit of the core realms of GnoSwap, expecting to get the report next week

To Do

Gno Core

  • Continue working on the ongoing tasks

Adena

GnoSwap

  • Finish integrating the governance realms into GnoSwap and QA
  • Finalize the audit and get the report

@dongwon8247
Copy link
Member Author

dongwon8247 commented Sep 27, 2024

GnoSwap Contract Audit

I'd like to share the audit process of GnoSwap contracts and how the auditors think about their experience auditing a Gno application for the first time.

On August 12, we conducted an audit for GnoSwap contracts with Andy and Louis from BigInteger, who are experts in EVM and have extensive experience auditing AMMs. On September 25, we fixed all findings and finalized the audit process. While auditing with BigInteger, we also worked on matching GnoSwap's testcases with all of the existing testcases in UniswapV3 for compatibility.

Here’s some feedback from Andy and Louis on their experience while auditing a Gno application.

  • The context of each test continues, making it difficult to test. In the case of Hardhat or Foundry tests, each test is initialized by a setup or before function and takes place in an independent context, whereas in the case of gno test, all tests are affected by previous test functions, making it tricky to use.
  • In the same sense, we found that there is no support for Mocha's describe and it structures in the JS test framework. This caused all tests to share the same context, which created some inconvenience when writing tests.
  • To test block timestamp, TestSkipHeights must be used. This means that the timestamp cannot be manipulated in the same block, which may lead to some incomplete tests.
  • It would be helpful to have a helper function that can manipulate package names during testing. This would make testing much easier when testing two realms with dependencies, as it would allow initializing variables from another realm.
  • We couldn't conduct gas-related tests. Currently, the VM does not support gas estimation, so we have to set gas to the maximum value. This could potentially cause issues related to gas in the future.

They are interested in exploring more about GnoVM and are looking forward to future collaborations.

@dongwon8247
Copy link
Member Author

Contributors Updates_October 16, 2024

Done

Gno Core

Adena

GnoSwap

To Do

Gno Core

  • Working on the open PRs for merging
  • Finishing mainly #2722 PR

Adena

GnoSwap

  • Working on integrating the launchpad feature and QA
  • Continuing optimization
    • API, DB, Infra

@dongwon8247
Copy link
Member Author

dongwon8247 commented Oct 30, 2024

Contributors Updates_October 30, 2024

Done

Gno Core

Adena

GnoSwap

  • Finished developing the initial version of the launchpad feature

To Do

Gno Core

Adena

GnoSwap

  • Preparing deploying on testnet5
  • Continuing optimization
    • API, DB, Infra

@dongwon8247
Copy link
Member Author

Contributors Call November 27, 2024

Done

Gno Core

Adena

GnoSwap

To Do

Gno Core

GnoSwap

  • Refactor realms and backend (optimization)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: History
Development

No branches or pull requests

3 participants