user42451: I install Electrum in Ubuntu.
sudo apt-get install python-qt4 python-pip
sudo pip install https://download.electrum.org/2.6.4/Electrum-2.6.4.tar.gz

Then I start RPC on port 7777 and run daemon:
electrum setconfig rpcport 7777
electrum daemon start

I try RPC by curl:
curl --data-binary '{"id":"curltext","method":"wallet.create_new_address()","params":[]}' http://127.0.0.1:7777

I got error output:
{"error": {"message": "Method wallet.create_new_address() not supported.", "code": -32601}, "jsonrpc": "2.0", "id": "curltext"}


I tried the command 'wallet.create_new_address()' which can be executed in GUI console but RPC gives error.


user8738: There are two problems with your command.
First, any method you call should not be prefixed by wallet. or suffixed by ().
Also, there is no RPC method create_new_address. If you have a look at lib/commands.py you will see that the internal python method create_new_address() is called by the RPC method getunusedaddress, and only when the parameter force=true is given.
With the above in mind, try this:
curl --data-binary '{"id":"curltext","method":"getunusedaddress","params":{"force":true}}' http://127.0.0.1:7777

The equivalent shell command would be
electrum getunusedaddress --force

I tried this on electrum 2.8.3. Sadly, it always returns the same address. This is because the address remains unused.

42451: <p>I install Electrum in Ubuntu.</p>

<pre><code>sudo apt-get install python-qt4 python-pip
sudo pip install https://download.electrum.org/2.6.4/Electrum-2.6.4.tar.gz
</code></pre>

<p>Then I start RPC on port 7777 and run daemon:</p>

<pre><code>electrum setconfig rpcport 7777
electrum daemon start
</code></pre>

<p>I try RPC by curl:</p>

<pre><code>curl --data-binary '{"id":"curltext","method":"wallet.create_new_address()","params":[]}' http://127.0.0.1:7777
</code></pre>

<p>I got error output:</p>

<pre><code>{"error": {"message": "Method wallet.create_new_address() not supported.", "code": -32601}, "jsonrpc": "2.0", "id": "curltext"}
</code></pre>

<blockquote>
  <p>I tried the command 'wallet.create_new_address()' which can be executed in GUI console but RPC gives error.</p>
</blockquote>
 8738: <p>There are two problems with your command.</p>

<p>First, any method you call should not be prefixed by <code>wallet.</code> or suffixed by <code>()</code>.</p>

<p>Also, there is no RPC method <code>create_new_address</code>. If you have a look at <code>lib/commands.py</code> you will see that the internal python method <code>create_new_address()</code> is called by the RPC method <code>getunusedaddress</code>, and only when the parameter <code>force=true</code> is given.</p>

<p>With the above in mind, try this:</p>

<pre><code>curl --data-binary '{"id":"curltext","method":"getunusedaddress","params":{"force":true}}' http://127.0.0.1:7777
</code></pre>

<p>The equivalent shell command would be</p>

<pre><code>electrum getunusedaddress --force
</code></pre>

<p>I tried this on electrum 2.8.3. Sadly, it always returns the same address. This is because the address remains unused.</p>
