Many people have requested we continue to work toward being verified on the Pera Wallet. Pera Wallet is incorrectly stating that it has an automated and simple procedure for verification. In fact, to verify an asset, PeraWallet is requesting we send a zero Algo transaction from the Choice Coin creator address with a specific note in the comments.
Given, the creator address has been rekeyed for security, the only way to send a transaction from the address is programatically. Moreover, there is no known existing code base for completing this task on Algorand. Currently, in the process of facilitating the transaction, I am working on debugging the following code.
# Steps
##################################
# 1. Import Algorand Python-SDK
# Start by importing the necessary dependencies from the Algorand Python-SDK.
from algosdk.v2client import algod
from algosdk import account, encoding, mnemonic, transaction
from algosdk.future.transaction import AssetConfigTxn, AssetTransferTxn, PaymentTxn, write_to_file
# 2. Connect to the Network
# Connect to the Algorand Network using the [PureStake API](https://developer.purestake.io/).
algod_address = "https://mainnet-algorand.api.purestake.io/ps2"
algod_token = ""
headers = {"X-API-Key": algod_token }
algod_client = algod.AlgodClient(algod_token,algod_address,headers)
# 3. Set Voting Variables
# Set the variables for voting using Choice Coin and for the specific reserve's Algorand address.
asset_id = 0
reserve_address = ""
reserve_phrase = mnemonic.to_private_key("")
# Send
def verify():
params = algod_client.suggested_params()
amount = 0
verify_address = ""
comment = ""
transaction = AssetTransferTxn(sender=reserve_address, sp=params, receiver=verify_address, amt=amount, index=asset_id, comment)
signature = transaction.sign(reserve_phrase)
algod_client.send_transaction(signature)
final = transaction.get_txid()
print ("Verify.")
print(final)
verify()
I am getting the following error.
Traceback (most recent call last):
File "verify.py", line 37, in <module>
burn()
File "verify.py", line 31, in burn
transaction = AssetTransferTxn(sender=reserve_address, sp=params, receiver=burn_address, amt=amount, index=asset_id)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/algosdk/future/transaction.py", line 1324, in __init__
self.index = self.creatable_index(index, required=True)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/algosdk/future/transaction.py", line 300, in creatable_index
raise IndexError("Required an index")
IndexError: Required an index
The error is referencing line 37, the function call:
verify()
and line 31, the transaction:
transaction = AssetTransferTxn(sender=reserve_address, sp=params, receiver=verify_address, amt=amount, index=asset_id, comment)
Ultimately, the error is:
IndexError: Required an index
However, I am not sure what the required index is referring to or how to remove the bug. Any advice or suggestions would be appreciated.
For PeraWallet, there is a wealth of information available to verify Choice Coin as a legitimate project on Algorand. We already went through this process. There is no sound reason for withdrawing our verification status. See Choice Coin: A Solution to the Decentralized Governance Problem and Choice Coin DAO R&D.