When signing up in the Living Assets platform, a new Universe is created, allowing creation, evolution, and trading of NFTs. The API url will be provided, to access and query the newly created Universe.
This Universe is deployed in the sandbox environment, where clients can develop their application, experiment with the API, create, evolve, trade and break things. When ready to go live, a new empty Universe will be created in the production L2.
Nodes use standard web3 cryptographic signatures to verify that changes made within a Universe are done so by the rightful Universe owner. To start using the sandbox environment, clients need to own a web3 cryptographic identity.
This identity can be created using the Onboarding Wallet without having to touch a line of code, or using a few lines of code (in different languages).
No-code account creation
Sign up for a sandbox account
Go to the sandbox marketplace and click the sign up button in the top right. Follow the instructions to create an Onboarding Wallet.
Communicate the public address
When sign-up is completed, a brand new web3 account will have been created, and an email with the corresponding recovery data will have been sent.
The public web3 address can be found in that email; it just needs to be communicated in order for the Layer 2 to create a Universe that only this account can manage.
Note that the email contains the encrypted identity, which encrypts the private key with the password set during the account setup process. The encrypted identity and password are needed to access the Dashboard.
Note that the public web3 address can also be found by simply logging in the sandbox marketplace and going to account -> settings.
Account Creation by Code
The account, and the corresponding encrypted identity, can also be created locally, by simply following the code examples below. As in the no-code case, just communicate the resulting web3 public address when done.
const identity = require('freeverse-crypto-js'); const account = identity.createNewAccount(); // account.address => public web3 address // account.privateKey => private key of account
// assuming Nethereum libraries installed Nethereum.Signer.EthECKey ecKey = Nethereum.Signer.EthECKey.GenerateKey(); // ecKey.GetPublicAddress() => public web3 address // ecKey.GetPrivateKey() => private key of account
# pip install web3 from web3 import Web3 w3 = Web3() acct = w3.eth.account.create() # acct._address => public web3 address # acct._private_key => private key of account
You will need your encrypted identity in order to access the client dashboard for your Universe. The same library contains the encrypt/decrypt methods, as shown in this and this examples.
const identity = require('freeverse-crypto-js'); const encrypted = identity.encryptIdentity(privateKey, userPassword); const decrypted = identity.decryptIdentity(encrypted, userPassword);
privateKey is the private key generated above, and
userPassword is any chosen password that will be use to encrypt the private key.