Skip to content

Instantly share code, notes, and snippets.

@cygnusv
Created March 13, 2019 12:48
Show Gist options
  • Save cygnusv/86b14336bc9f7ee7b905c93ad8bdd553 to your computer and use it in GitHub Desktop.
Save cygnusv/86b14336bc9f7ee7b905c93ad8bdd553 to your computer and use it in GitHub Desktop.
Stage a new stake? [y/N]: y
Current balance: 1000000000000000000000000000
Enter stake value in NU [15000]: 15000
Minimum duration: 30 | Maximum Duration: 365
Enter stake duration in periods (1 Period = 24 Hours): 30
============================== STAGED STAKE ==============================
(Ursula)⇀Aquamarine Scorpius Coral Queen↽ (0xF59CFb62c66be1dBe0B7b66f2108cb3bFE91667F)
~ Value -> 15000 NU (15000000000000000000000 NU-wei)
~ Duration -> 30 Days (30 Periods)
~ Enactment -> 2019-03-13 12:43:56.278424+00:00 (period #17968)
~ Expiration -> 2019-04-12 12:43:56.278638+00:00 (period #17998)
=========================================================================
* Ursula Node Operator Notice *
-------------------------------
By agreeing to stake 15000 NU:
- Staked tokens will be locked, and unavailable for transactions for the stake duration.
- You are obligated to maintain a networked and available Ursula node with the
ETH address 0xF59CFb62c66be1dBe0B7b66f2108cb3bFE91667F for the duration
of the stake(s) (30 periods)
- Agree to allow NuCypher network users to carry out uninterrupted re-encryption
work orders at-will without interference.
Failure to keep your node online, or violation of re-encryption work orders
will result in the loss of staked tokens as described in the NuCypher slashing protocol.
Keeping your Ursula node online during the staking period and successfully
performing accurate re-encryption work orders will result in rewards
paid out in ETH retro-actively, on-demand.
Accept node operator obligation? [y/N]: y
Publish staged stake to the blockchain? [y/N]: y
Traceback (most recent call last):
File "/home/david/.local/share/virtualenvs/nucypher-rz58eSz8/bin/nucypher", line 11, in <module>
load_entry_point('nucypher', 'console_scripts', 'nucypher')()
File "/home/david/.local/share/virtualenvs/nucypher-rz58eSz8/lib/python3.6/site-packages/click/core.py", line 764, in __call__
return self.main(*args, **kwargs)
File "/home/david/.local/share/virtualenvs/nucypher-rz58eSz8/lib/python3.6/site-packages/click/core.py", line 717, in main
rv = self.invoke(ctx)
File "/home/david/.local/share/virtualenvs/nucypher-rz58eSz8/lib/python3.6/site-packages/click/core.py", line 1137, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/david/.local/share/virtualenvs/nucypher-rz58eSz8/lib/python3.6/site-packages/click/core.py", line 956, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/david/.local/share/virtualenvs/nucypher-rz58eSz8/lib/python3.6/site-packages/click/core.py", line 555, in invoke
return callback(*args, **kwargs)
File "/home/david/.local/share/virtualenvs/nucypher-rz58eSz8/lib/python3.6/site-packages/click/decorators.py", line 64, in new_func
return ctx.invoke(f, obj, *args, **kwargs)
File "/home/david/.local/share/virtualenvs/nucypher-rz58eSz8/lib/python3.6/site-packages/click/core.py", line 555, in invoke
return callback(*args, **kwargs)
File "/home/david/NuCypher/dev/nucypher/nucypher/cli/characters/ursula.py", line 375, in ursula
staking_transactions = URSULA.initialize_stake(amount=stake_wei, lock_periods=duration)
File "/home/david/NuCypher/dev/nucypher/nucypher/blockchain/eth/actors.py", line 47, in wrapped
return func(actor, *args, **kwargs)
File "/home/david/NuCypher/dev/nucypher/nucypher/blockchain/eth/actors.py", line 496, in initialize_stake
approve_txhash, initial_deposit_txhash = self.deposit(amount=amount, lock_periods=lock_periods)
File "/home/david/NuCypher/dev/nucypher/nucypher/blockchain/eth/actors.py", line 47, in wrapped
return func(actor, *args, **kwargs)
File "/home/david/NuCypher/dev/nucypher/nucypher/blockchain/eth/actors.py", line 401, in deposit
sender_address=self.checksum_public_address)
File "/home/david/NuCypher/dev/nucypher/nucypher/blockchain/eth/agents.py", line 106, in approve_transfer
txhash = self.contract.functions.approve(target_address, amount).transact({'from': sender_address})#, 'gas': 40000}) # TODO: needed for use with geth.
File "/home/david/.local/share/virtualenvs/nucypher-rz58eSz8/lib/python3.6/site-packages/web3/contract.py", line 854, in transact
**self.kwargs
File "/home/david/.local/share/virtualenvs/nucypher-rz58eSz8/lib/python3.6/site-packages/web3/contract.py", line 1376, in transact_with_contract_function
txn_hash = web3.eth.sendTransaction(transact_transaction)
File "/home/david/.local/share/virtualenvs/nucypher-rz58eSz8/lib/python3.6/site-packages/web3/eth.py", line 277, in sendTransaction
get_buffered_gas_estimate(self.web3, transaction),
File "/home/david/.local/share/virtualenvs/nucypher-rz58eSz8/lib/python3.6/site-packages/web3/_utils/transactions.py", line 90, in get_buffered_gas_estimate
gas_limit = get_block_gas_limit(web3)
File "/home/david/.local/share/virtualenvs/nucypher-rz58eSz8/lib/python3.6/site-packages/web3/_utils/transactions.py", line 81, in get_block_gas_limit
block = web3.eth.getBlock(block_identifier)
File "/home/david/.local/share/virtualenvs/nucypher-rz58eSz8/lib/python3.6/site-packages/web3/eth.py", line 147, in getBlock
[block_identifier, full_transactions],
File "/home/david/.local/share/virtualenvs/nucypher-rz58eSz8/lib/python3.6/site-packages/web3/manager.py", line 94, in request_blocking
response = self._make_request(method, params)
File "/home/david/.local/share/virtualenvs/nucypher-rz58eSz8/lib/python3.6/site-packages/web3/manager.py", line 81, in _make_request
return request_func(method, params)
File "cytoolz/functoolz.pyx", line 232, in cytoolz.functoolz.curry.__call__
File "/home/david/.local/share/virtualenvs/nucypher-rz58eSz8/lib/python3.6/site-packages/web3/middleware/formatting.py", line 50, in apply_formatters
response = make_request(method, params)
File "/home/david/.local/share/virtualenvs/nucypher-rz58eSz8/lib/python3.6/site-packages/web3/middleware/gas_price_strategy.py", line 18, in middleware
return make_request(method, params)
File "cytoolz/functoolz.pyx", line 232, in cytoolz.functoolz.curry.__call__
File "/home/david/.local/share/virtualenvs/nucypher-rz58eSz8/lib/python3.6/site-packages/web3/middleware/formatting.py", line 50, in apply_formatters
response = make_request(method, params)
File "/home/david/.local/share/virtualenvs/nucypher-rz58eSz8/lib/python3.6/site-packages/web3/middleware/attrdict.py", line 18, in middleware
response = make_request(method, params)
File "cytoolz/functoolz.pyx", line 232, in cytoolz.functoolz.curry.__call__
File "/home/david/.local/share/virtualenvs/nucypher-rz58eSz8/lib/python3.6/site-packages/web3/middleware/formatting.py", line 48, in apply_formatters
response = make_request(method, formatted_params)
File "/home/david/.local/share/virtualenvs/nucypher-rz58eSz8/lib/python3.6/site-packages/web3/middleware/normalize_errors.py", line 9, in middleware
result = make_request(method, params)
File "cytoolz/functoolz.pyx", line 232, in cytoolz.functoolz.curry.__call__
File "/home/david/.local/share/virtualenvs/nucypher-rz58eSz8/lib/python3.6/site-packages/web3/middleware/formatting.py", line 57, in apply_formatters
formatter(response['result']),
File "cytoolz/functoolz.pyx", line 232, in cytoolz.functoolz.curry.__call__
File "/home/david/.local/share/virtualenvs/nucypher-rz58eSz8/lib/python3.6/site-packages/eth_utils/applicators.py", line 74, in apply_formatter_if
return formatter(value)
File "cytoolz/functoolz.pyx", line 232, in cytoolz.functoolz.curry.__call__
File "/home/david/.local/share/virtualenvs/nucypher-rz58eSz8/lib/python3.6/site-packages/eth_utils/functional.py", line 46, in inner
return callback(fn(*args, **kwargs))
File "/home/david/.local/share/virtualenvs/nucypher-rz58eSz8/lib/python3.6/site-packages/eth_utils/applicators.py", line 86, in apply_formatters_to_dict
yield key, formatters[key](item)
File "/home/david/.local/share/virtualenvs/nucypher-rz58eSz8/lib/python3.6/site-packages/web3/middleware/validation.py", line 55, in check_extradata_length
len(result), MAX_EXTRADATA_LENGTH, result
web3.exceptions.ValidationError: The field extraData is 97 bytes, but should be 32. It is quite likely that you are connected to a POA chain. Refer http://web3py.readthedocs.io/en/stable/middleware.html#geth-style-proof-of-authority for more details. The full extraData is: HexBytes('0xd883010817846765746888676f312e31302e34856c696e757800000000000000b3135350f15360e926925692631e0b764d23d37549fade93dc48674a5ac4753b7e09e188914932eaf54f7db6a7cd5b8737104f93984af7a3dca1e8be5e44e8ac00')
Sentry is attempting to send 1 pending error messages
Waiting up to 2.0 seconds
Press Ctrl-C to quit
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment