Test plan results thus far:
Python
❎ Custom JSON - SFR Token Transfer - Using privex.steemengine provided by @someguy123
Relevant code used (interactively)
from beem import Steem
from beem.instance import set_shared_steem_instance
from decimal import Decimal
stm = Steem(node='https://testnet.steemitdev.com',keys='')
# Have also tried stm = Steem(node='https://testnet.steemitdev.com',keys=['']) #^(Given missing active auth in this instance)
from privex.steemengine import SteemEngineToken
stm_eng = SteemEngineToken()
tx = stm_eng.send_token('SFR', 'steemflagrewards', 'null', Decimal(0.001), 'HF 21 Test TX')
Receive the following:
Notes: My suspicion initially was the issue is not with performing the custom json transaction itself but an issue with the libraries. I will need to investigate this further.
I've also attempted to perform a custom json SE transaction with straight Beem using @holger80's guide here using the following data:
data = {"contractName": "tokens", "contractAction":"transfer", "contractPayload":{"symbol":"SFR", "to":"null", "quantity":0.001, "memo":"HF 21 test"}}
In this case the resulting error was:
Traceback (most recent call last):
File "", line 1, in <module>
File "/home/sfr/miniconda3/lib/python3.6/site-packages/beem/steem.py", line 1611, in custom_json
return self.finalizeOp(op, account, "active", **kwargs)
File "/home/sfr/miniconda3/lib/python3.6/site-packages/beem/steem.py", line 953, in finalizeOp
self.txbuffer.sign()
File "/home/sfr/miniconda3/lib/python3.6/site-packages/beem/transactionbuilder.py", line 286, in sign
self.constructTx()
File "/home/sfr/miniconda3/lib/python3.6/site-packages/beem/transactionbuilder.py", line 259, in constructTx
self.steem.rpc)
File "/home/sfr/miniconda3/lib/python3.6/site-packages/beembase/transactions.py", line 21, in getBlockParams
ref_block_num = dynBCParams["head_block_number"] & 0xFFFF
TypeError: 'NoneType' object is not subscriptable
As a sanity check, I tested the same custom json against @themarkymark's node with no problem.
{'expiration': '2019-08-22T01:21:22', 'ref_block_num': 44536, 'ref_block_prefix': 3782416773, 'operations': [['custom_json', {'required_auths': ['steemflagrewards'], 'required_posting_auths': [], 'id': 'ssc-mainnet1', 'json': '{"contractName":"tokens","contractAction":"transfer","contractPayload":{"symbol":"SFR","to":"null","quantity":0.001,"memo":"HF 21 test"}}'}]], 'extensions': [], 'signatures': ['1f46cd102969d40b86b2d0fad881589af415b3c116ccb42fe523472afe1d2e9f83149f07ff7f7cf82140c8ecf6805c092807f30077280ee71669e41a468db7681e']}
Conclusions
Custom JSON is inoperable against the https://testnet.steemitdev.com node. Perhaps, somebody has a more appropriate node for me to test against? I'm glad to do so. Rest assured, I will do what I can to get this squared away.
As for now, you know what they say
All work and no play makes Jack a dull boy. Well, time to crack open a cold one and play some Jackbox 5 which I recently acquired as part of the Humble Bundle.
What do you need to play?
That's easy! Just a phone with a web browser. (Note: If we decide to play *Patently Stupid", a touch screen device may be required.) I'll bring the stream up in about 10 minutes. Game code will be announced on the @steemflagrewards server on the most blessed channel on discord #the-shitpost-channel.
Only 8 players max so get in while you can. I will pay for and distribute 1 SFR token for each game winner and the pegged SBD price which you may claim a vote from our bot after being whitelisted. (Spammers and douche-nozzles need not apply... not that the 2 are mutually exclusive)
Will be streamed from my Twitch. Be warned we have had randos join our game and they can be quite edgy. If you are easily offended, may want to give this a pass.