私は最後の数日間、2つのethereumウォレット間でカスタマイズされたトークンの転送を試みていました。gethを使用してウォレット間でトークンを転送する方法
私はpopulus(python)を使用しています。ETH
を転送するのはかなり簡単なようですが、カスタムトークンを使って同じことをする方法を理解できませんでした。
これは私のpython
コードです:
from decimal import Decimal
import populus
from populus.utils.accounts import is_account_locked
from populus.utils.cli import request_account_unlock
from eth_utils import from_wei
from ico.utils import check_succesful_tx
# Which network we deployed our contract
chain_name = "horton"
# Owner account on geth
owner_address = "0xaeCb8415d5553F080d351e82b2000f123BFBc23C"
# Where did we deploy our token
contract_address = "0x15f173b7aca7cd4a01d5f8360e65fb4491d270c1"
receiver = "0x4c042bf285689891117AED16005004a6de2cC4FB"
amount = Decimal("1.0")
project = populus.Project()
with project.get_chain(chain_name) as chain:
web3 = chain.web3
print("Web3 provider is", web3.currentProvider)
print("Owner address is", owner_address)
print("Owner balance is", from_wei(web3.eth.getBalance(owner_address), "ether"), "ETH")
# Goes through geth account unlock process if needed
if is_account_locked(web3, owner_address):
request_account_unlock(chain, owner_address, None)
transaction = {"from": owner_address}
FractionalERC20 = chain.contract_factories.FractionalERC20
token = FractionalERC20(address=contract_address)
decimals = token.call().decimals()
decimal_multiplier = 10 ** decimals
decimals = 18
decimal_multiplier = 10 ** decimals
print("Token has", decimals, "decimals")
print("Owner token balance is", token.call().balanceOf(owner_address)/decimal_multiplier)
# Use lowest denominator amount
normalized_amount = int(amount * decimal_multiplier)
# Transfer the tokens
txid = token.transact({"from": owner_address}).transfer(receiver, normalized_amount)
print("TXID is", txid)
check_succesful_tx(web3, txid)
しかし、上記のコードを実行しながら、私はエラーを取得しています:
File "ICO_transfering_tokens.py", line 39, in <module>
FractionalERC20 = chain.contract_factories.FractionalERC20
AttributeError: 'LocalGethChain' object has no attribute 'contract_factories'
私はエラーを理解し、それを修正しませんか。
誰かがpython
以外の言語でのソリューションを持っている場合、私は正しい答えとしてそれを受け入れるさせていただきます。私は財布のリストに小さなお支払いを送る必要がありますし、私は厳しいスケジュールには、任意のヘルプは歓迎される!
新しい方法はhttpのポプラの新しいバージョンをダウンロードし、ローカルホートンチェーンを設定してください://populus.readthedocsこれにより
を.io/en/latest/tutorial.part-2.html –