Installation

Overview

The installation for the plugin itself is the same as for any WordPress plugin.
Additionally, you will have to install and maintain a Bitcoin daemon on your server.
This will typically require SSH access and some basic knowledge of UNIX/Linux.

Instructions

To Install the plugin and connect it to a Bitcoin full node using the built-in Bitcoin adapter:

Make sure that you have the latest WordPress version installed,
and that you are running on at least PHP 5.6.
Even though the plugin has been tested on WordPress 4.0 and PHP 5.3,
for security reasons you are strongly recommended to use the latest version of WordPress and a supported version of PHP.Check to see here if your PHP version is currently supported for security issues.
As of 2017, anything below 5.6 has reached its end-of-life and is no longer supported.

Install a Bitcoin full node on your server. Detailed instructionsare available here. Read and follow the instructions carefully.

Take note of thememory, disk, and bandwidth requirements
and check against the resources available on your server. If you find that running a full node is too heavy on
your server’s resources, or if you do not have the technical expertise to work with Linux and the command line,
or if you only have access to shared hosting, please see the FAQ section below for alternative options.

At a minimum you need to enable the adapter and enter the
location and credentials to your Bitcoin daemon RPC API.

You will need to set the following: IP, Port, User, Password, Path.

Configure the bitcoin daemon on your server.
You will need to edit your ~/.bitcoin/bitcoin.conf file and make the configuration match what you entered above.
The plugin will give you the exact configuration arguments that you need to start the daemon with.

Check that the adapter works.
Navigate to the Wallets menu in the admin area.
If the Bitcoin Adapter Status reads Responding, then you’re good to go.

Note that for a new bitcoind installation, you might have to wait until the entire blockchain downloads first.
This can take a few hours. Again, skip to the FAQ section for other alternatives.

Disclaimer

By using this free plugin you accept all responsibility for handling the account balances for all your users.
Under no circumstances is dashed-slug.net or any of its affiliates responsible for any damages incurred by the use of this plugin.

Every effort has been made to harden the security of this plugin, but its safe operation depends on your site being secure overall.
You, the site administrator, must take all necessary precautions to secure your WordPress installation before you connect it to any live wallets.

You are strongly advised to take the following actions (at a minimum):

By continuing to use the Bitcoin and Altcoin Wallets plugin, you indicate that you have understood and agreed to this disclaimer.

Further reading

https://codex.wordpress.org/Managing_Plugins#Installing_Plugins

https://bitcoin.org/en/full-node

https://en.bitcoin.it/wiki/Running_Bitcoin

FAQ

Installation Instructions

Overview

The installation for the plugin itself is the same as for any WordPress plugin.
Additionally, you will have to install and maintain a Bitcoin daemon on your server.
This will typically require SSH access and some basic knowledge of UNIX/Linux.

Instructions

To Install the plugin and connect it to a Bitcoin full node using the built-in Bitcoin adapter:

Make sure that you have the latest WordPress version installed,
and that you are running on at least PHP 5.6.
Even though the plugin has been tested on WordPress 4.0 and PHP 5.3,
for security reasons you are strongly recommended to use the latest version of WordPress and a supported version of PHP.Check to see here if your PHP version is currently supported for security issues.
As of 2017, anything below 5.6 has reached its end-of-life and is no longer supported.

Install a Bitcoin full node on your server. Detailed instructionsare available here. Read and follow the instructions carefully.

Take note of thememory, disk, and bandwidth requirements
and check against the resources available on your server. If you find that running a full node is too heavy on
your server’s resources, or if you do not have the technical expertise to work with Linux and the command line,
or if you only have access to shared hosting, please see the FAQ section below for alternative options.

At a minimum you need to enable the adapter and enter the
location and credentials to your Bitcoin daemon RPC API.

You will need to set the following: IP, Port, User, Password, Path.

Configure the bitcoin daemon on your server.
You will need to edit your ~/.bitcoin/bitcoin.conf file and make the configuration match what you entered above.
The plugin will give you the exact configuration arguments that you need to start the daemon with.

Check that the adapter works.
Navigate to the Wallets menu in the admin area.
If the Bitcoin Adapter Status reads Responding, then you’re good to go.

Note that for a new bitcoind installation, you might have to wait until the entire blockchain downloads first.
This can take a few hours. Again, skip to the FAQ section for other alternatives.

Disclaimer

By using this free plugin you accept all responsibility for handling the account balances for all your users.
Under no circumstances is dashed-slug.net or any of its affiliates responsible for any damages incurred by the use of this plugin.

Every effort has been made to harden the security of this plugin, but its safe operation depends on your site being secure overall.
You, the site administrator, must take all necessary precautions to secure your WordPress installation before you connect it to any live wallets.

You are strongly advised to take the following actions (at a minimum):

The Bitcoin and Altcoin Wallets plugin is only as secure as your WordPress installation. Regardless of whether you choose to install this plugin, you should have already taken steps to secure your WordPress installation. At a minimum you should do the following:

If you are connecting to an RPC API on a different machine than that of your WordPress server over an untrusted network,
make sure to tunnel your connection via ssh or stunnel. See here.

Do I really need to run a full node? bitcoind is too resource-hungry for my server.

Running a full node requires you to set up the daemon on a VPS or other machine that you own and administer. Normally the full blockchain needs to be downloaded, so you need to make sure that your server can handle the disk and network requirements.

Cloud wallets

Instead, you can choose to install one of the available coin adapters that are backed by cloud wallet services. These currently are:

Study the services and their terms of service including what fees they charge before choosing to use them.

bittiraha

From version 1.1.0 onward, this plugin is compatible with the bittiraha-walletd wallet. From the project’s description on GitHub:

Lightweight Bitcoin RPC compatible HD wallet
This project is meant as a drop-in replacement for bitcoind for use in lightweight servers.

This is a wallet based on bitcoinj and does not store the blockchain locally. You will have to install this on a VPS or other server via the shell.

A downside is that the walletnotify mechanism and the listtransactions command are not implemented. This means that there is no easy way for the plugin to be notified of deposits. Deposits will not be recorded in the transactions table. Users will not be emailed when they perform deposits and they will not be able to see their deposits in the [wallets_transactions] UI. Deposits will correctly affect users’ balances. You have been warned.

Can you install/configure the plugin for me? / I am having trouble with the bitcoin.conf file

I am available to answer any specific questions if you attempt to install the plugin and you face some problem. Unfortunately I do not undertake installation and configuration of the plugin.

Keep in mind that no software is set-and-forget. Once you install software, it then needs to be maintained. If you find that you are having trouble installing the plugin or connecting it to a wallet, even with help, this is a good indication that you should not be running a wallet with people’s money on it.

Remember that you have two options: stand-alone wallets or web wallets. Running a web wallet is considerably easier than a stand-alone wallet, as it does not require system administration skills. As a general rule, if you have trouble using Linux from the command line, you will be better off installing a web wallet.

I cannot connect to a wallet running on my home computer

Unless your home internet connection has a static IP and you have opened the correct ports on your router/firewall you will not be able to use your home computer as a wallet backend. In fact, this is not a very good idea. Ideally you need a dedicated server to run a wallet with the availability required by a site that serves multiple users. Virtual private servers (VPSs) should be OK as the wallets do not max-out CPU usage under normal operation, after the blockchain finishes syncing. Shared/managed hosting plans are not appropriate for running wallet daemons. If you have a shared/managed hosting plan (i.e. no ssh access), you are stuck with using web wallets.

Check with your hosting plan for disk space and memory requirements against the requirements of the wallet you wish to run. For Bitcoin core, click here.

How can I integrate the plugin with my site?

Just insert the shortcodes anywhere to create forms to let a logged in user:

deposit funds:[wallets_deposit]

withdraw funds:[wallets_withdraw]

transfer funds to other users:[wallets_move]

view their balance:[wallets_balance]

view past transactions:[wallets_transactions]

These shortcodes render knockout.js-enabled forms. Read the shortcodes documentation for more details.

You can enter the same UI elements into your theme’s widget area.
Simply go to Appearance → Widgets and use the provided front-end widgets.

You can also use a special menu item to display the user balances as part of a nav menu:

Go to Appearance → Menus.

At the top right side of the screen, click Screen Options.

Under Boxes, make sure that Bitcoin and Altcoin Wallets balances is selected.

Now you are free to enter the balances menu item into your menus.

I don’t like the built-in forms. Can I provide my own?

First of all, the forms can be styled with CSS. They have convenient HTML classes that you can use.

If you wish to create forms with completely different markup, you can provide your own views for these shortcodes.
Use the wallets_views_dir filter to override the directory where the views are stored (the default is wallets/includes/views).
Most people will not need to do this.

You can only have one coin adapter enabled per each coin. The plugin will warn you about this.

Suppose you wish to replace the internal Bitcoin core adapter with the block.io BTC adapter. You would have to:

Wait for pending deposits and withdrawals to execute. They should be in ‘done’ state.

Disable your original coin adapter.

Delete the deposit addresses from your database with:

DELETE FROM wp_wallets_adds WHERE symbol = 'BTC';

Activate and configure the new adapter.

Can you add XYZ coin for me?

Yes and no. I have received a large amount of requests from small coins and cannot cater for them all. I do try to implement some of the requests I receive.

If your coin’s wallet has a standard RPC API that is a direct fork of Bitcoin core, then you should be able to modify the Litecoin adapter to suite your needs. Feel free to republish it after modifying the code. There are some instructions on how to do this here.

If your coin is an ERC-20 token then there is no support for that at the moment. Ideally this is something that will be implemented in the future.

Are you available for custom development work?

Unfortunately I do not undertake custom projects. If you have an idea about a cool extension then please let me know about it. If it is a good fit for the project, it will be added to the backlog. When implemented, It will be available either to all users for free, or for dashed-slug premium members.

Can you add fiat currency deposits?

I do not have plans to add fiat currency deposits. That is not to say that someone cannot develop an extension to do this.

Can you build an exchange on top of the plugin?

Yes this is in the future plans.

I want to pay for premium membership but cannot or do not want to pay via PayPal.

I am currently in the process of building a plugin extension that will allow you to pay for membership via cryptocurrencies.
In the meantime, you may contact me directly at info@dashed-slug.net if you wish to send a Bitcoin payment and I will activate your membership manually.