Bitcoin-js-remote

 

A user interface for Bitcoin written in JavaScript.

For SSL support a small server side script is included.

This software is released under the MIT/X11 License.

Contents

External Links

Example of an Apache HTTPD Configuration for Bitcoin JS Remote

[I am assuming a little knowledge about Apache httpd. You had better read on Apache httpd directives: http://httpd.apache.org/docs/2.2/mod/directives.html. Of course, this is only an example of many other configurations]

Assuming your bitcoin.conf file includes:

rpcuser=myuser rpcpassword=mypass 

First, generate a suitable file for Basic Authentification. See man htpasswd or execute

htpasswd -b -c my_prefer_filename myuser mypass 

Set following Apache directives in the proper context, i.e. server or virtual host configuration:

<Proxy http://127.0.0.1:8332> AuthType Basic AuthName "Bitcoin Access" AuthUserFile my_prefer_filename Require user myuser Order deny,allow Allow from all </Proxy> 

Assuming you want to access Bitcoin JS Remote with http://mydomain/jbc

Alias /jbc pathabs_to_bitcoin-js-remote ProxyPass /lbc/ http://127.0.0.1:8332/ # ProxyPassReverse is not required because bitcoind talks pure # JSON, i.e no HTTP Headers with URIs are generated by bitcoind # ProxyPassReverse /lbc/ http://127.0.0.1:8332/ 

Above ProxyPass directive is asuming you are set the RPC.url field to “/lbc/” into “settings.json” file, located in the bitcoin-js-remote directory. See the settings.json_sample file for proper syntax.

A variety of configurations are feasible:

# If RPC.url is an absolute path (i.e. RPC.url : /lbc/), # bitcoind at 127.0.0.1 shall be accessed by http://mydomain/jbc/ ProxyPass /lbc/ http://127.0.0.1:8332/ # # If RPC.url is a relative path (i.e. RPC.url : lbc/), # bitcoind at 127.0.0.1 shall be accessed by http://mydomain/jbc/lbc/ ProxyPass lbc/ http://127.0.0.1:8332/ #  # Apache can also proxy your access to any other IP by # accessing to http://mydomain/jbc ProxyPass /lbc/ http://www.worldbank.org:8332/ 

Please, note you are *not* required to set into the settings.json file the pair rcpuser/rcppassword. The required header with Basic Authentication is automatically generated by Apache when proxing, thanks for the above Auth directives.

Set RPC.user=rcpuser and RPC.password=rcppassword in the settings.json file if you are not able to configure your Apache webser; for instance, people using hosting instead of virtual or dedicated server. But, please, keep in mind settings.json file can be read by everybody: http://mydomain/jbc/settings.json

That’s all. Restart your Apache web server.

Other interesting Apache directives:

To redirect all HTTP to HTTPS (of course, you need a well-configured ssl site). !!! SSL access is extremely recommended to protect your Bitcoin data.

RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} 

To avoid your log file from flooding

SetEnvIf Request_URI "^/jbc/" dontlog SetEnvIf Request_URI "^/lbc/" dontlog CustomLog myfile.log combined env=!dontlog 

Finally, if you go in trouble, check proper access to bitcoin daemon with curl:

curl --trace-time --trace-ascii -  --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getinfo", "params": [] }'  --header 'content-type: text/plain;' http://myuser:[email protected]:8332/ 

Source

http://bitcoin.it/

See Also on BitcoinWiki