3
As @knaccc astutely points out, your keys are not valid.
An example with valid test keys, in Python:
p = '644206dabcd3014180f120c0d3da7fc167701a310ca520467199fcefbd7e0109'
P = 'c2f9d63a7dbfb73fc24dae28df2ecf5b3667eff59124511fa6735ac848938cce'
print MiniNero.scalarmultKey(P, p)
Outputs:
af16f921de9efbf28ec744dbe927e7592de8ee4fb1f5c6112e3458b00369a0a4
And ...
3
Your tests are not the same.
If you look at the source for hashToPointCN, you will see:
def hashToPointCN(hexVal):
u= hexToInt(cn_fast_hash(hexVal)) % q
...
It hashes the input.
So in your Python test, you are outputting the result of cn_fast_hash, which is being used as input to hashToPointCN, which is hashing again and then returning a result ...
2
You haven't reduced tmp. I.e.
tmp = MiniNero.sc_reduce_key(MiniNero.cn_fast_hash(aR+"00"))
Hs in the referenced question's answer refers to Hash to scalar, not simply hash. Otherwise keccak would have been written in place of Hs.
Thus, following your experiment through with the correction, I calculate 1 XMR:
tx_pub_key = "...
2
MM is probably an abbreviation for MyMonero. Note that, in comparison with the standard private view key, the private view key of MyMonero accounts are derived differently. That is:
MyMonero Style – This is similar to 2., but uses a 13 word seed instead of a 25 word seed. The 13 words convert to a 128-bit integer that is used for both spend and view key ...
Only top voted, non community-wiki answers of a minimum length are eligible