Uploading a Citizen Through the Contract: Difference between revisions

From Neo Tokyo Citizen Wiki
No edit summary
Line 19: Line 19:
== Etherscan Instructions ==
== Etherscan Instructions ==
{| class="wikitable"
{| class="wikitable"
|+ Contracts Used for Uploading a Citizen
|-
|-
! Contract !! Etherscan URL
! Contract !! Etherscan URL
Line 34: Line 35:


=== Set approval for all of the component contracts ===
=== Set approval for all of the component contracts ===
You’ll need to do this before uploading:
Before interacting with the Citizen contract, you will need to set approvals for the component contracts. To set approvals, navigate to the setapprovals function each contract and call "setApprovalForAll".
To approve you need to go into each contract and call "setApprovalForAll".
Pass in the <code>0xb668beB1Fa440F6cF2Da0399f8C28caB993Bdd65</code> (the Citizen contract address) as the operator, and <code>1</code> to approve.
Pass in the citizen contract (0xb668beB1Fa440F6cF2Da0399f8C28caB993Bdd65) as the operator, and 1 for approved


=== Upload via the Citizen contract ===
=== Upload via the Citizen contract ===

Revision as of 10:43, 21 September 2022

If Web3 functionality of the official website is unreachable or disabled, a Citizen can be created interacting with the Citizen contract and all the component contracts on Etherscan.

Requirements

Creating a Citizen requires:

  • Enough ETH for multiple transaction fees (0.02+ to ensure that you can complete the process)
  • These component NFTs must be in the ethereum wallet you are connecting to Etherscan:
  • The token ID for each component

Note: You can reduce costs by uploading a Citizen when gas fees are low.

S1 Info.jpg


Etherscan Instructions

Contracts Used for Uploading a Citizen
Contract Etherscan URL
Citizen Contract https://etherscan.io/address/0xb668beb1fa440f6cf2da0399f8c28cab993bdd65
ID or Bought ID (you only need one of the Identity contracts, depending on your ID) ID: https://etherscan.io/address/0x86357a19e5537a8fba9a004e555713bc943a66c0#writeContract
--
Bought ID: https://etherscan.io/address/0x835a60cc60b808e47825daa79a9da6c9ff3a892e#writeContract
Items Cache https://etherscan.io/address/0x0938e3f7ac6d7f674fed551c93f363109bda3af9#writeContract
Land Deed https://etherscan.io/address/0x3c54b798b3aad4f6089533af3bdbd6ce233019bb#writeContract
Vault (optional) https://etherscan.io/address/0xab0b0dd7e4eab0f9e31a539074a03f1c1be80879#writeContract

Set approval for all of the component contracts

Before interacting with the Citizen contract, you will need to set approvals for the component contracts. To set approvals, navigate to the setapprovals function each contract and call "setApprovalForAll". Pass in the 0xb668beB1Fa440F6cF2Da0399f8C28caB993Bdd65 (the Citizen contract address) as the operator, and 1 to approve.

Upload via the Citizen contract

  1. Open the Citizen contract, click the Contract tab, and click the Write Contract tab within that frame.
  2. Use the Connect to Web3 button to connect your wallet with the required components and ethereum.
  3. Expand function 4, 4.createCitizen. and fill in every parameter with the correct token ID for each of your component NFTs.
    1. If you don't have a vault, put 0.
    2. Select 0 for a male Citizen or 1 for a female Citizen.
    3. specialMessage is a custom message associated with your Citizen that will appear on exchanges in the description field. If you want to leave that field empty use "".

If you get an error, make sure you set approval for all in the component contracts.