<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://de.bitcoin.it/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=LightningFury</id>
	<title>Bitcoin Wiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://de.bitcoin.it/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=LightningFury"/>
	<link rel="alternate" type="text/html" href="https://de.bitcoin.it/wiki/Spezial:Beitr%C3%A4ge/LightningFury"/>
	<updated>2026-04-06T20:31:51Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://de.bitcoin.it/w/index.php?title=API-Referenz_(JSON-RPC)&amp;diff=640</id>
		<title>API-Referenz (JSON-RPC)</title>
		<link rel="alternate" type="text/html" href="https://de.bitcoin.it/w/index.php?title=API-Referenz_(JSON-RPC)&amp;diff=640"/>
		<updated>2012-01-19T13:18:34Z</updated>

		<summary type="html">&lt;p&gt;LightningFury: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Bitcoin steuern ==&lt;br /&gt;
Bitcoin muss zuerst im Server-Modus gestartet werden.&lt;br /&gt;
Um den Servermodus starten zu können müssen Sie zunächst einen &#039;&#039;rpcuser&#039;&#039; und ein &#039;&#039;rpcpassword&#039;&#039; ein der &#039;&#039;bitcoin.conf&#039;&#039; festlegen. Starten Sie danach entweder &#039;&#039;bicoind&#039;&#039; oder &#039;&#039;bitcoin -server&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Sie können den Server nun entweder über die Kommandozeile oder über [http://json-rpc.org/wiki/specification HTTP JSON-RPC] Kommandos steuern.&lt;br /&gt;
&lt;br /&gt;
Hierzu ein paar Beispiele:&lt;br /&gt;
 $ ./bitcoind&lt;br /&gt;
 bitcoin server starting&lt;br /&gt;
 $ ./bitcoind help&lt;br /&gt;
 #Zeigt den Hilfetext mit allen [[Original_Bitcoin_Client/API_call_Liste|RPC-API Befehlen]]&lt;br /&gt;
 #z.B&lt;br /&gt;
 $ ./bitcoind getbalance&lt;br /&gt;
 2000.00000&lt;br /&gt;
&lt;br /&gt;
=== JSON-RPC ===&lt;br /&gt;
Um mit dem Server über JSON-RPC zu kommunizieren muss eine [http://de.wikipedia.org/wiki/HTTP-Authentifizierung HTTP-Authentifizierung] verwendet werden und aus Sicherheitsgründen werden standardmäßig nur Verbindungen von Prozessen auf der lokalen Maschine angenommen.&lt;br /&gt;
Ab version 0.3.14 wird SSL (HTTPS) für Verbindungen unterstützt.&lt;br /&gt;
&lt;br /&gt;
== Beispiele ==&lt;br /&gt;
Hier ein paar Beispiele für die Kommunikation per JSON-RPC in verschiedenen Programmiersprachen&lt;br /&gt;
=== Python ===&lt;br /&gt;
[http://json-rpc.org/wiki/python-json-rpc JSON-RPC for Python] ist die offizielle JSON-RPC Implementierung für Python. Sie generiert die RPC-Aufrufe Automatisch. Leider ist die Bibliothek aus Gründen der Kompatibilität relativ ineffizient. [[User:Jgarzik]] hat aus diesem die optimierte Version (nur für Python 2.6 aufwärts) [https://github.com/jgarzik/python-bitcoinrpc Python-BitcoinRPC] erstellt. Diese Version sollte wenn möglich bevorzugt werden.&lt;br /&gt;
&lt;br /&gt;
So lange nur die &#039;&#039;ServiceProxy&#039;&#039; Klasse genutzt wird, ist es dem Benutzer überlassen welche der beiden Paket genutzt werden.&lt;br /&gt;
&lt;br /&gt;
Hier ein Beispiel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
  from jsonrpc import ServiceProxy&lt;br /&gt;
 &lt;br /&gt;
  access = ServiceProxy(&amp;quot;http://user:password@127.0.0.1:8332&amp;quot;)&lt;br /&gt;
  access.getinfo()&lt;br /&gt;
  access.listreceivedbyaddress(6)&lt;br /&gt;
  #usw...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=== Ruby ===&lt;br /&gt;
Stellen Sie sicher, dass Sie den &#039;&#039;rest-client&#039;&#039; installiert haben oder führen sie gegebenenfalls den Befehl&lt;br /&gt;
 $ gem install rest-client&lt;br /&gt;
aus.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;ruby&amp;quot;&amp;gt;&lt;br /&gt;
=begin&lt;br /&gt;
Benutzung:&lt;br /&gt;
    h = ServiceProxy.new(&#039;http://user:password@127.0.0.1:8332&#039;)&lt;br /&gt;
    puts h.getinfo.call&lt;br /&gt;
    puts h.getbalance.call &#039;accname&#039;&lt;br /&gt;
=end&lt;br /&gt;
require &#039;json&#039;&lt;br /&gt;
require &#039;rest_client&#039;&lt;br /&gt;
 &lt;br /&gt;
class JSONRPCException &amp;lt; RuntimeError&lt;br /&gt;
    def initialize()&lt;br /&gt;
        super()&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
class ServiceProxy&lt;br /&gt;
    def initialize(service_url, service_name=nil)&lt;br /&gt;
        @service_url = service_url&lt;br /&gt;
        @service_name = service_name&lt;br /&gt;
    end&lt;br /&gt;
 &lt;br /&gt;
    def method_missing(name, *args, &amp;amp;block)&lt;br /&gt;
        if @service_name != nil&lt;br /&gt;
            name = &amp;quot;%s.%s&amp;quot; % [@service_name, name]&lt;br /&gt;
        end&lt;br /&gt;
        return ServiceProxy.new(@service_url, name)&lt;br /&gt;
    end&lt;br /&gt;
 &lt;br /&gt;
    def respond_to?(sym)&lt;br /&gt;
    end&lt;br /&gt;
 &lt;br /&gt;
    def call(*args)&lt;br /&gt;
        postdata = {&amp;quot;method&amp;quot; =&amp;gt; @service_name, &amp;quot;params&amp;quot; =&amp;gt; args, &amp;quot;id&amp;quot; =&amp;gt; &amp;quot;jsonrpc&amp;quot;}.to_json&lt;br /&gt;
        respdata = RestClient.post @service_url, postdata&lt;br /&gt;
        resp = JSON.parse respdata&lt;br /&gt;
        if resp[&amp;quot;error&amp;quot;] != nil&lt;br /&gt;
            raise JSONRPCException.new, resp[&#039;error&#039;]&lt;br /&gt;
        end&lt;br /&gt;
        return resp[&#039;result&#039;]&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[en:API reference (JSON-RPC)]]&lt;/div&gt;</summary>
		<author><name>LightningFury</name></author>
	</entry>
</feed>