⚙️Architecture & Technology

Looking deep into the basics

In recent years, the realm of cryptocurrency and blockchain technology has witnessed explosive growth and innovation. One of the predominant applications of this technology involves creating digital wallets, facilitating users in securely storing and managing their cryptocurrencies. Nonetheless, many people are unfamiliar with setting up and utilizing these wallets, posing a considerable barrier to entry for those interested in trading cryptocurrencies. This whitepaper will introduce a novel feature on our website that enables users to request the creation of a Web3 wallet: TPA Wallet. This feature simplifies the process of purchasing our Teleport Plaque Address (TPA), eliminating the necessity to install the MetaMask or Coinbase extension.

Background

TPA enables users to purchase and activate them in the Spatial World. These virtual spaces, grounded in blockchain technology, offer users a secure and transparent platform to buy, sell, and trade virtual addresses in property form. Participation in our spatial world necessitates a decentralized wallet that aligns with the blockchain supporting the virtual world. MetaMask and Coinbase are the prevalent decentralized wallets today; they are browser extensions that enable interaction with Ethereum-based decentralized applications (dApps).

Nonetheless, not all users are comfortable installing browser extensions or setting up decentralized wallets independently. This discomfort can pose a considerable entry barrier for individuals intrigued by purchasing TPA and allocating it to the spatial world, but who are unfamiliar with the requisite technology. To mitigate this concern, we have unveiled a new feature on our website enabling users to request the creation of a decentralized wallet, thereby facilitating their engagement with virtual real estate sans the need for the MetaMask or Coinbase extension.

How it Works

Our novel feature enables users to request a decentralized wallet's creation directly from our website. Users need only fill out a brief form providing their email address. Once the form is submitted, our team will generate a new decentralized wallet for the user and link it to their profile. The user can then obtain their private key by requesting it via their profile. They will receive an email to confirm their request, and upon verification, the private key will be displayed within their profile. Consequently, the user can utilize this wallet to purchase TPA directly from our website and activate them in the Spatial World, circumventing the need to install the MetaMask or Coinbase extension or independently set up a decentralized wallet.

Benefits

Our innovative feature provides several advantages to users intrigued by purchasing TPA and activating them in the Spatial World, particularly those unfamiliar with decentralized wallets or the MetaMask or Coinbase extension. Here are the primary benefits:

  • Ease of use: By facilitating the creation of a decentralized wallet directly on our website, we simplify participation in the world of virtual real estate. Users do not need intricate knowledge of the technicalities of decentralized wallets or browser extensions.

  • Security: Our team prioritizes the security of users' decentralized wallets. By undertaking the wallet creation process and linking them to users' profiles, we can guarantee wallet security and ensure that private keys remain undisclosed.

  • Accessibility: By eliminating the necessity for users to install the MetaMask or Coinbase extension, we make the spatial world more accessible across a broader spectrum of devices, including mobile phones and tablets.

In conclusion, our newly introduced feature, enabling users to request a decentralized wallet's creation directly from our website, marks a significant stride towards greater accessibility of virtual real estate. By negating the need for MetaMask or Coinbase extension installation or individual decentralized wallet setup, we facilitate participation in our virtual meta world across a more diverse array of devices and user backgrounds. We remain committed to securing our users' decentralized wallets and streamlining the purchase and activation of TPA. With this new feature, we aspire to introduce more individuals to the dynamic world of virtual real estate and tap into the limitless potential of blockchain technology.

Security

With modern web application backends composed of multiple servers, containers running various applications, and an array of software services, including web servers, databases, web proxies, and the like, it's critical to secure every single component. To this end, the Stage Meta Security Team ensures that all web applications and their associated components are safe and secure.

Stage Meta is hosted on AWS, adhering to the latest security practices, and the Stage Meta Marketplace relies on the security of Ethereum for executing its smart contracts.

TPA Engine

The TPA Engine is a platform that employs non-fungible tokens (NFTs) to enable secure transfer, storage, and verification of TPAs and associated data. These cryptographic assets, built on blockchain technology, allow owners to authenticate their token ownership and sell or transfer NFTs.

The TPA Engine operates within the Stage Meta architecture, encompassing three layers and numerous components. Four types of smart contracts run on the Ethereum network:

  • TPA Storage

  • TPA Proxy Manager

  • TPA Proxy

  • TPA Building Address

The TPA Storage is an ownable NFT contract based on the ERC-1155 standard. Its primary function is to store TPAs as NFTs, including their prices, owners, and plaque IDs. Additionally, it is responsible for minting TPA on the blockchain. The TPA Storage communicates with other proxies primarily to stamp TPA and validate TPA owners for other contracts.

The TPA Proxy Manager is another ownable smart contract. It stores and authenticates TPA proxy smart contracts and only interfaces with other contracts, like storage.

Conversely, the TPA Proxy is another ownable smart contract that defines functionalities such as assign, unassign, repair, damage, and even mint or transfer. While it is responsible for multiple functions, its primary functionality for the client is the 'mintTransfer' contract, which verifies values sent and interacts with storage to mint a TPA and transfer it to the client. Clients can request all proxies to authenticate TPA owners and find a TPA's price and creator fees at all times. These contracts could be redeployed with new functionality by Stage Meta to a recent version or deployed further for scaling. Therefore, always ensure you have the latest proxy address.

Lastly, the TPA Building Address is a Proxy Manageable smart contract that stores the world’s building addresses and token IDs assigned or unassigned to a piece of land. It can only be invoked by TPA proxies.

Working with TPA

The technology behind TPA is seamless and adaptable. Minters and clients can interact with the TPA Engine in two ways:

  1. Making transactions on the blockchain

  2. Interacting with Stage Meta's Restful API

Regardless of the chosen method, clients can purchase a TPA, activate their TPA, and access details such as the owner of a TPA, current plaque price, or the history of TPA prices.

To utilize TPA functions and retrieve data on the blockchain, one should call one of the proxy's smart contracts and identify the latest version of the proxy contract or the proxy with the least overhead. If clients wish to use web2 features, such as purchasing with a credit card, they should interact with our Restful API.

More information is available at https://dev.stagemeta.world

Summary of TPA Engine

The TPA Engine is a robust platform for managing assets on the blockchain. The four types of smart contracts collaboratively facilitate secure ownership transfer, storage, and verification of TPAs and their associated data. Clients can engage with the system either by executing transactions on the blockchain or through the Stage Meta Restful API. With our user-friendly Stage Wallet, users can efficiently manage their tokens and fully enjoy the benefits of the TPA Engine.

TPA Wallet

To simplify the management of cryptocurrencies for our users, we provide the option to create a blockchain wallet. By signing in to our website or one of our partner platforms that support TPA Wallet, you can create your own blockchain wallet, accessible only through two-factor authentication using your email.

Blockchain technology offers numerous advantages over traditional wallets, including enhanced security, transparency, and immutability. With a blockchain wallet, you can rest assured knowing that your digital assets are safeguarded by advanced encryption protocols and distributed ledger technology.

To set up your TPA Wallet, you must follow a straightforward process that requires providing personal information and enabling two-factor authentication. Once your wallet is established, you can send and receive crypto, view your transaction history, and manage your account settings.

You can always withdraw your crypto from your TPA Wallet or transfer it to another wallet, such as MetaMask. You can conveniently use your private key to import your TPA Wallet. Please note that fees may apply to certain transactions or services, so ensure to check for any applicable charges before using your TPA Wallet.

TPA Domains

ENS (Ethereum Name Service) is a smart contract system that allows users to register human-readable names for Ethereum addresses, thereby simplifying the process of sending and receiving cryptocurrency. ENS names can represent any valid Ethereum address, including personal wallets and contract addresses, all of which are stored on the Ethereum blockchain. When you purchase a TPA, a resolver smart contract is deployed for your TPA, providing you with a valid Ethereum address in the ENS system.

Architecture

The TPA Domains system is composed of two main components: the registry and resolvers. The TPA Domain registry consists of a single smart contract that keeps track of all domains and their subdomains. It stores three crucial pieces of information about each: the owner of the domain, the resolver for the domain, and the caching time-to-live for all records under the domain. The domain owner can be either an external account or a smart contract, while a registrar is a smart contract that owns a domain and issues subdomains of that domain to users based on rules defined in the contract.

Owners of TPA domains in the Stage Meta registry have the authority to set the resolver and TTL for the domain. The TPA Domain registry solely maps from a name to its corresponding resolver.

Resolvers are responsible for translating names into addresses. Any contract implementing the relevant standards can act as a resolver in ENS, with general-purpose resolver implementations available for users with more specific requirements. Each record type - cryptocurrency address, IPFS content hash, etc. - defines a method or methods that a resolver must implement to provide records of that kind. New record types can be created at any time through the EIP standardization process without requiring changes to the TPA Domain registry or existing resolvers to support them.

Resolving a name in ENS is a two-step process: firstly, the registry identifies which resolver is responsible for the name, and then that resolver is queried to answer the user's request.

Namehash

Resource constraints in smart contracts mean that interacting with human-readable names could be made more efficient. As a result, Stage Meta TPA operates solely with fixed-length 256-bit cryptographic hashes. Namehash is a process used to derive the hash from a name while preserving its hierarchical properties.

For example, the name hash of 'AAA-000.TPA' is 0x787192fc5378cc32aa956ddfdedbf26b24e8d78e40109add0eea2c1a012c3dec; this is the representation of names used exclusively inside TPA Domains.

Namehash is a recursive process capable of generating a unique hash for any valid domain name. It is possible to derive the name hash of any subdomain without knowledge or handling of the original human-readable name, starting with the name hash of any domain - for instance, 'AAA-000.TPA'. This function allows TPA Domain to operate as a hierarchical system without having to deal with human-readable text strings internally.

Last updated