Inspiration

NFTs are all the rage these days, and we saw an opportunity to create an open-source platform that would make it for anyone to create and sell them, like a breeze. We knew that the XRPL community was filled with incredibly talented artists and creators, and we wanted to give them a way to showcase their work and get paid for it.

So we set out to develop a platform that would be easy to use and would allow anyone to create and sell NFTs. We're happy to say that we are on a mission, and we hope that this platform will be a valuable resource for the XRPL community.

What it does

Moerphous’s server is the backbone of all Moerphous related XRPL NFT services. It enables us to automatically generate unique tokens representing any assets we desire. We can then programmatically control the services associated with these tokens, creating a powerful and flexible platform for NFT development.

The server is written in Python, fully asynchronous, and is able to handle the high volume of transactions that will be required for a successful implementation of the NFT system.

The server provides two main APIs, one responsible for generating new wallets, as well as fetching information about existing ones from the blockchain. This includes data such as the current balance and transaction history.

The second API is responsible for minting and burning NFTs. This allows users to create their own unique digital assets, which can be traded or used in a variety of ways.

In terms of architecture, a load balancer sits between clients and servers, receiving traffic from clients and distributing it across the backend servers. Doing so improves the overall performance of the system. It also adds an extra layer of security by protecting against DDoS attacks, and such.

MongoDB is a powerful database that allows us to store data in a structured way. In our case, we are using it to store the classic_address and the seed for each wallet. This makes it possible for us to make transactions functional. In future releases, we will use MetaMask to connect users and this database will be removed.

How we built it

The client

The client is a bootstrapped React app that uses Material UI for its UI-related functionalities. This makes it easier to build customized components with some advanced animations. The client has a robust, customizable front end, making it easy to create beautiful, responsive UI components.

The client also uses Redux to manage the global state of the application. This ensures that data is consistent throughout the entire platform lifecycle. It also makes it easier to write code that reacts to changes in the state. This also makes it easier to develop and maintain the project, in general.

The Server

The server is built on top of the xrpl-py library, which allows for easy interaction with the XRP Ledger. The server makes use of all the features that this library has to offer, including generating wallets, minting and burning NFTs, sending transactions, and more. By making use of this powerful library, we were able to quickly build a robust and feature-rich server that meets all our needs.

We built our server using the FastAPI framework. FastAPI is a modern, high-performant, web framework for building APIs based on standard Python-type hints. The main reason we chose to use Fastapi was its ability to rapidly develop a backend in a short period of time. Additionally, it can automatically validate and serialize data thanks to the pydantic library integration.

Challenges we ran into

We ran into a lot of challenges when building our NFT marketplace. We had to learn how to use different languages, and how to read and write data in different formats. We also had to learn how to use different libraries and frameworks, and how to integrate them all together. We also had to figure out how to store data on the blockchain in a way that was both secure and accessible. Finally, we needed to create a user experience that was easy and intuitive for both beginners and experts.

Despite these challenges, we were determined to make our NFT marketplace a reality. After many late nights and lots of hard work, we finally got a working version up and running just in time for the deadline. We are proud of what we have created and can't wait to see what people do with it!

Accomplishments that we're proud of

We're extremely proud of the progress we've made with the Moerphous open-source platform. Our goal was to create a programmable, automated NFT minting server that would allow the XRPL developer community to leverage this project, and we've accomplished just that. We believe that this will be a key tool for developers looking to create NFTs on the XRP Ledger, and we're excited to see what the future holds for this project.

What we learned

When it comes to thinking about the future, it's important to keep a grand vision in mind. But it's also important to focus on small, immediate steps. That's what we learned from the XLS-20d XRPL NFT standard.

The XLS-20d XRPL NFT standard is designed to allow for the easy creation and exchange of NFTs. One of the key features of this standard is that it allows for NFTs to be sent directly to a public address. This means that you don't have to claim or sign the NFT in order to receive it.

This is an important feature because it makes it much easier for people to send and receive NFTs. It also makes it possible for NFTs to be used in a wide variety of applications, like our NFT marketplace.

What's next for Moerphous

As we move into the first quarter of 2023, we are planning on deploying our platform on the Mainnet and adding all of the missing functionality that a fully functioning NFT marketplace needs. This will include features such as live auctions, buying and selling NFTs, and much more. We are also working on building a community around the project. Stay tuned for more updates!

Built With

Share this project:

Updates