Harmony SDK for Marketplace Proposal

Name of Project / DAO / Company

harmony-marketplace-sdk

Application type

Grant

Proposal overview

Our mission within this project is to make NFTs usable in the Harmony platform and achieve its wide adoption. The idea is to create an SDK that makes it easy to mint, claim, burn and even transfer any NFT to other chains like Ethereum or Polygon.

In order to be successful with this mission, we have outlined several steps that need to be taken.

  1. harmony-marketplace-sdk will be an open source library to facility development of Marketplaces on Harmony as matic.js ERC721 interface on Polygon network.
  2. It will serve as the starting point for every platform or developer that want to have an easy and secure way to interact with NFTs on Harmony
  3. In addition to having a standard implementation, harmony-marketplace-sdk will provide a general implementation of the sdk client and abstraction in case the user wants to extend the library.

Project Details

The SDK should be the starting point for marketplaces or platforms from Harmony that want a set of tools to easily integrate the NFT functionality. It will contain a similar folder structure as ethers.js where every package handles a different aspect of the NFT contracts. It will have documentation that describes how to use the library and how to extend it if you need a different implementation.

The library will provide the default implementation of standard NFT smart contracts which can be customized by developers. Also, the library will provide additional features which are not available in NFT smart contracts but can be useful for development.

Our team aims to improve the NFT smart-contract development experience and wants to improve Harmony, make it more user-friendly, and popularize it.

Team

Jose Ramirez (Blockchain Engineer): LinkedIn jarcodallo and Github jarcodallo
Brian Zuker (Software Engineer): LinkedIn brian-zuker-192921a5 and Github bzuker
Santiago Canosa (Fullstack Software Engineer): LinkedIn santiago-canosa-72220a122 and Github canissj
Ana Riera (Fullstack Software Engineer): LinkedIn anamriera and Github AnnRiera

Team experience

Jose Ramirez

Software Developer with 9 years’ experience in frontend / backend development. He considers himself a “perennial student”, and He stays in touch with the latest technologies. He is very passionate about decentralized finance and blockchain technologies. He built reliable software infrastructure with Node.js, Typescript and React. More recently working with Dapps using libraries like ethers.js, web3.js and polkadot{.js}.

Brian Zuker

He is a passionate software engineer with 8 years of experience who loves challenges and learning new things. Worked closely with the Product and Design teams to develop new use cases for customers. Worked with technologies such as Node, React, OpenLayers, Python, RabbitMQ, Docker, Kubernetes, MongoDB

Santiago Canosa

Fullstack Engineer with 5 years experience building products for massive companies, giving the best experience to millions of users every day. He is a team player who loves to create beautiful native apps while focusing on writing battle-tested, scalable code.

Ana Riera

Software Developer with 3 years’ in developing software solutions for individuals and small businesses. She is currently developing web applications in Node.js/Express to the backend side, MongoDB as a DBMS, and using Vue.js for the frontend side. She is a proactive, responsible, willing, and dedicated person, who seeks to acquire new knowledge and face the challenges that arise.

Proposal ask

Our proposal is to have an SDK for marketplaces with full support for NFT in Harmony blockchain. We expect to take 6-8 weeks maximum, our ask is 80,000 USD worth of One tokens. This would cover development and CI (CircleCI and coveralls) costs.

Justification

The necessity of a solution like this seemed rather urgent to us when we started to work with Harmony. We quickly realized that we strategically would like to become a team that builds in the ecosystem. We decided that we want to commit and help Harmony become widespread and used. Right now the usability of NFTs on Harmony is very low. Harmony-marketplace-sdk will be dedicated to change that.

Our target audience are developers and NFT platforms on Harmony. This project is the starting point for developers, coming from other ecosystems like Ethereum or Polygon, and it aims to improve NFT development on Harmony.

Development Roadmap

We have decided to describe a full roadmap of a harmony-marketplace-sdk here, with estimates.

Milestone 1:

Implement reusable basic interfaces, similar to Matic.js

  • Estimated duration: 2 weeks
  • Cost: 20,000 USD
Number Deliverable Specification
0.a Documentation We will add documentation, and create a tutorial on how to import and customize the sdk interfaces.
0.b Testing Guide We will add unit tests to cover all basic logic and integration test with NFT contracts
1.a Non Fungible token(Erc721) Interface We will implement reusable Erc721 interface
1.b Non Fungible token(Erc1155) interface We will implement reusable Erc1155 interface

Milestone 2:

Simplify usage of libraries. Add new features which extend NFT. Provide abstraction that will allow the creation of your own base implementation.

  • Estimated duration: 2 weeks
  • Cost: 20,000 USD
Number Deliverable Specification
0.a Documentation We will update previous documentation based on the new features.
0.b Testing Guide Update tests according to new features.
1.a Add support for HD Wallet-enabled We will add support for HD wallets like @truffle/hdwallet-provider
1.b Add batch functions for Erc721 and Erc1155 interfaces We will add support for batch functions like mint or burn an amount of NFT for a user in the same transaction.

Milestone 3:

Pre-release - Standardization of NFT contracts interfaces. Documentation and CI pipeline integration.

  • Estimated duration: 2 weeks
  • Cost: 30,000 USD
Number Deliverable Specification
0.a Documentation We will update previous documentation based on the new features.
0.b Testing Guide Update tests according to new features.
1.a Export Erc721 abstract interfaces Export the Erc721 interface as an abstraction to facilitate a custom implementation.
1.b Export Erc1155 abstract interfaces Export the Erc1155 interface as an abstraction to facilitate a custom implementation.
1.c Cross-chain ERC721/1155 bridges. A bridge will be a set of contract interfaces that help in moving assets from the root chain to the child chain and vice versa.
2.a Circle CI Add a pipeline for run the unit and integration tests with multiple version of Node.js and Javascript
2.b Coverage Generate the coverage report with coveralls
3.b Pre-release Publish a release candidate version for beta testing.

Milestone 4:

Release - We will provide inline documentation and examples of usage.

  • Estimated duration: 2 weeks
  • Cost: 10,000 USD
Number Deliverable Specification
0.a Documentation We will update previous documentation based on the new features.
0.b Testing Guide Update tests according to new features.
1.a License Add a MIT License
1.b Fixes Fix reporter bugs from pre-release.
3.b Release Publish a release version ready for use in production

Future Plans

We’re going to make a strong impact in the community, making NFT on Harmony simple and convenient for developers. We plan to share our expertise creating workshops online, handling all relevant forums and social networks.

Metrics for success

Number of developers or protocols using the sdk to interact with NFT contracts.

External links

Github Twitter Linkedin

1 Like

Thank you for submitting a proposal to Harmony’s $300M Ecosystem Fund

We are in the process of reviewing your proposal. The Harmony community is also encouraged to participate to ask questions and provide feedbacks.

If you have more details to add, please do so by replying to this thread.

@Blockcoders can you socialize this proposal of having a Harmony SDK for NFT Marketplaces with the current NFT marketplace projects at Harmony?

I’d also like invite some developer community members with NFT exposure to comment on this

@ProfessorTango @Tailchakra @Globey.one @BRUNO @lootblocks @Harmoonies @expart.me @limi @0xsparkles @5HeadGames @wizzardblizzard @C4rm3K @FVNcapital @VoldemArt @MrJ @Galaxii @Prozex

1 Like

Categorized this as a Bounty, it seems like it’s scoped out properly and Harmony will be open to funding it as it looks to be ready to be worked on and completed in an 8-week duration.

The question here is whether we need something like this.

1 Like

Hi @Jacksteroo , SDK for NFT Marketplaces is very important, new projects could use it easily developing front-end.

The daVinci SDK is ready and public, every new NFT project can use it already.
here: GitHub - davinci-gallery/davinci-sdk

Thanks @BRUNO , so how does it compare with daVinci SDK? (and I do see you bring this up quite a bit across other NFT projects)

Does this proposal have more contract interfaces than daVinci, or is it complementary?

Hi @Jacksteroo
We definitely can do that. Our idea is to have an SDK that can be easily used in the new protocols and extends the interfaces if it is needed.

thanks @BRUNO for shared the davinci-sdk

davinci-sdk is a great library, but we think this library is more related to the DaVinci NFT platform. Our idea is to have a SDK that can handle any type of NFT contract and in the case that these NFT contracts have extra functions, easily extend it w/o any re-implementation.

Harmony-marketplace-sdk will provide a well-defined structure and architecture to follow and the ability to write modules that can be totally independent, making it extremely easy to separate logic in different modules, which can then be extracted to different services with the confidence that it will still work as expected. It will be developed with Typescript, so we get type-safety while also providing escape hatches when starting out.

1 Like

The standards that you describe do exist in a sense already and I think we might all have a few different implementations of the smart contract’s added functionality you mention, but I could definitely see these being used by a lot of new up & coming developers & projects.

Anything that could streamline/automate our explorer interaction/parsing for NFT data would be a big help.

Bridge sounds very cool, this is probably what I’m most excited about, and your proposal roadmap is well defined. :smiley: :+1:

We would definitely like to work closely with you as testers while you develop. :pray:

2 Likes

@lootblocks thanks for your reply. we definitely want your feedback and support about this SDK. Let’s connect and see the way to help each other.