What you need to do is pass --rpccorsdomain="metamask extension url" as well from your geth console.
Check this post to see how to do: https://metamask.zendesk.com/hc/en-us/articles/360015290012-Using-a-Local-Node
I don't think in 2019 someone will leave 200K in a server exposed to the internet, perhaps it is a testnet server or a honeypot.
I'd suggest to use a firewall or similar tool if you want to expose RPC your node to the internet.
The geth/parity have some protection but its functionality is limited to block certain calls. If you want more advanced features ...
message is actually just a byte array. The prefix string only contains ASCII-7 characters, so it doesn't really matter how you encode it because ASCII-7, ASCII, UTF-8, UTF-16, etc. will all encode it the same. You then take the encoded bytes of that and append the message length (which is just a byte array, so a simple .length will work) and turn that ...
Make sure that you are providing some withdraw_amount in the Value datafield in Remix IDE. By default it has value as 0.
Consider this answer for your reference.
Let me know if the problem still persists.
I've find out the error you are facing.
When you're running this contract, you ...
In geth console:
// from `geth --help`:
// --verbosity value Logging verbosity: 0=silent, 1=error, 2=warn, 3=info, 4=debug, 5=detail (default: 3)
// --vmodule value Per-module verbosity: comma-separated list of <pattern>=<level> (e.g. eth/*=5,p2p=4)
Same should work from command-line:
This is an rpc call that is implemented across clients and I doubt Parity has any plans to deprecate this, as it would break too many application.
There is however a strong desire to stop support for account management and hence most of the rpcs to do with account management have a deprecation notice.
You can view them here: https://github.com/paritytech/...