Skip to content

3Dpass/wallet

Repository files navigation

3DPass Web3 Wallet

The wallet is a WEB3 UI for "The Ledger of Things" (LoT), which is a non-custodial js app that allows for import of user accounts directly or its injection from a third-party keychain extension (ex. from the polkadot js extension).

DeepSource

Blockchain Network Interaction

The wallet is interacting with the Node via RPC API websocket endpoint directly from the WEB browser. Default WSS endpoint is set up in the app/atoms.ts. You can also change it in Settings from the WEB browser.

The LoT RPC API providers:

Features:

  • Address management (create/import/inject)
  • P3D (Native token) transfers
  • Assets transfers
  • EVM (cross-platform):
    • Send to EVM (H160 to SS58address conversion)
    • EVM withdraw (SS58 to H160 address conversion and withdraw tx for P3D Native)
  • Open Governance user interface:
    • Bounties
    • Council members
    • Motions
  • On-chain Identity module:
    • Regular user interface - to create update Identity info and request for judgment
    • Registrar user interface - to provide judgments
  • Sign/Verify message (e.g. to prove an address ownership)
  • Assets management:
    • 3DPRRC2 - objects authentication and its transformation into:
    • Share-asset,
    • Fragment ownership (weight-tokens, square-tokens, etc.),
    • Non-fungible asset
    • Fungible assets - regular fungible assets
    • Management:
    • Put an object on blockchain to get it throught the 3DPRC2 authentication procedure resulting as either "Approved" or "Disaproved"
    • Create new asset
    • Set metadata
    • Set the Team (Admin, Issuer, Freezer)
    • Mint tokens
    • Burn tokens
    • Freeze Account/ Asset
    • Thow Account/ Asset
    • Force transfer
    • Transfer Assets ownership
    • Assets ID to EVM contracts addresses conversion

Supply API

P3D Total Supply (current total issuance):

https://wallet.3dpass.org/network/totalIssuance

P3D Circulating Supply (total issuance - total locked):

https://wallet.3dpass.org/network/circulatingsupply

Responce:

  • format: plain text
  • accuracy: rounded to 1 P3D

Installation

pnpm install

Development

From your terminal:

pnpm dev

This starts your app in development mode, rebuilding assets on file changes.

Deployment

First, build your app for production:

pnpm build

Then run the app in production mode:

pnpm start

Now you'll need to pick up a host to deploy it to.

Localization

In order for the application to support new local translation on the UI, it is required that you create a JSON file with the language code for its name (e.g., "en.json" for English) and place it into the translations folder. The JSON file must contain key-value pairs where the keys are the identifiers used in the application code, and the values are the translated text in that language.

Follow these steps to add a new local translation:

Go to the translations folder.

Create a new JSON file with the appropriate language code as the name (e.g., "fr.json" for French).

Open the newly created file and add the translations using the following format:

{
  "translation": {
    "commons": {
      "lbl_btn_cancel": "Cancel",
      "lbl_btn_delete": "Delete",
      "lbl_btn_copy": "Copy",
      "lbl_btn_paste": "Paste",
      "lbl_btn_close": "Close",
  ...
}

Replace the English text with the translated text for the corresponding language.

Save the file.

Open the root.tsx file located in the app directory of the project.

At the top of the file, add an import statement for the new JSON file. Let's assume the new language is Italian ("it"), and the file name is "it.json":

import it from "./translations/it.json";

i18next
  .use(lngDetector)
  .use(initReactI18next) // passes i18n down to react-i18next
  .init({
    // Add the imported language to resource object
    resources: {
      en,
      es,
      fr,
      pt,
      it, // Add the new language to the resources object
    },
    ...
  });

Save the root.tsx file.

After completing these steps, the application should be able to load and use the translations for the newly added language.

Responsibility disclaimer

This is an open source free p2p software. Use it at your own risk. 3dpass platform is non-profit and community-supported.

Copyright (C) 2022-2025 3DPass

About

The implementation of 3DPass web3 browser wallet UI

Topics

Resources

License

Stars

Watchers

Forks

Contributors 11

Languages