Broker Setup: Difference between revisions

From Bittylicious
Jump to navigation Jump to search
Line 107: Line 107:
* Unpack the ZIP file somewhere suitable. We suggest ''C:\PHP''.
* Unpack the ZIP file somewhere suitable. We suggest ''C:\PHP''.
* Go into this directory and rename ''php.ini-production'' to ''php.ini''
* Go into this directory and rename ''php.ini-production'' to ''php.ini''
* Open up ''php.ini'' and uncomment (remove the '';'') on the line reading '';extension=php_curl.dll'' so it just reads ''extension=php_curl.dll''. Do this also with the lines ''extension=php_openssl.dll'' and ''extension_dir = "ext"''. This enables the curl and OpenSSL modules which are required.  On more recent versions/downloads of PHP these lines are '';extension=curl.dll'' and ''extension=openssl.dll'' so you may need to check for both.
* Open up ''php.ini'' and uncomment (remove the '';'') on the line reading '';extension=php_curl.dll'' so it just reads ''extension=php_curl.dll''. Do this also with the lines ''extension=php_openssl.dll'' and ''extension_dir = "ext"''. This enables the curl and OpenSSL modules which are required.  On more recent versions/downloads of PHP these lines are '';extension=curl'' and ''extension=openssl'' so you may need to check for both.
* You'll also usually need to add the PHP directory to your PATH.  [http://www.howtogeek.com/118594/how-to-edit-your-system-path-for-easy-command-line-access/ This page] and the section below has a fairly good description of how to do that. In your case you will probably want to add '';C:\PHP'', assuming that's where you extracted the files to.
* You'll also usually need to add the PHP directory to your PATH.  [http://www.howtogeek.com/118594/how-to-edit-your-system-path-for-easy-command-line-access/ This page] and the section below has a fairly good description of how to do that. In your case you will probably want to add '';C:\PHP'', assuming that's where you extracted the files to.



Revision as of 11:30, 8 March 2018

Offers

Payment Details

Here, you are required to enter all information required in order for a buyer to pay you. The position field corresponds to the position in which this will be displayed, from low to high. Typically this would be bank account information, but it could also be things such as phone numbers for methods such as PingIt.

Example information for UK bank transfers would be:

Position Heading Information
10 Sort code 123456
20 Account number 72498324
30 Account name Mr. J Bloggs

Example information for SEPA transfers would be:

Position Heading Information
10 IBAN GB29RBOS60161331926819
20 BIC/SWIFT RBOSGB2L
30 Recipient name Mr. J Bloggs
40 Recipient address 42 Sparkly Road, Tinseltown, United Kingdom, TI7 0WN
50 Bank name RBS
60 Bank address 36 St Andrew Square, Edinburgh, United Kingdom, EH2 2YB

When offering UK bank transfers, please do not enter your bank's name. This is to stop buyers from attempting to pay cash over the counter at the appropriate bank.

When offering PingIt or PAYM, you should have one field with your phone number and one with your real name, this gives buyers a double check that they've not made a typo with the phone number after entering it.

Position Heading Information
10 Number 07123456789
20 Name Joe Bloggs

When offering SEPA payments, you should have fields detailing the account name, IBAN, BIC/SWIFT, name of bank, address and country of bank (all on one line) and ideally the address of the recipient (all on one line). The address of recipient isn't always needed, but apparently some banks want this.

Notifications

Also, you absolutely must set up notifications at both the offer level and seller level, otherwise you will not be notified about new trades or support messages.

The Access token field is only applicable to certain notification types, and may be left blank for email notifications.

SSL keys

Linux Instructions

  1. Install openssl using your package manager
  2. Run openssl genrsa 4096 > private.key and keep this key private
  3. Also run openssl rsa -pubout < private.key > public.key and send us the contents of public.key in your application form.

Mac OS X Instructions

  1. Install openssl
  2. Run openssl genrsa -out private.key 4096 and keep this key private
  3. Also run openssl rsa -in private.key -pubout > publickey.pem and send us publickey.pem. This can be done by typing cat publickey.pem.

Windows Instructions

There are two ways to do this. The first is to use our preprepared batch file to generate everything for you, and the second is to do things manually.

Automatic (using the Bittylicious Client)

  1. Download Openssl from http://gnuwin32.sourceforge.net/packages/openssl.htm. Select the first option Complete package, except sources
  2. Run the downloaded file and install openssl-(version)-setup.exe
  3. Download and run our batch file bittykey.bat if you have not already generated a private/public keypair.
  4. Add the contents of public.key to the relevant place on your seller application

Manual

  1. Download Openssl from [1]. Select the first option Complete package, except sources
  2. Run the downloaded file and install openssl-(version)-setup.exe
  3. Run cmd.exe from the Start/Run menu and navigate to the a directory that you own. For example, for your desktop, something like cd C:\Users\Username\Desktop would work, where Username is your Windows username.
  4. Run the OpenSSL binary to generate your key. Running a command like "C:\Program Files (x86)\GnuWin32\bin\openssl.exe" genrsa 4096 > private.key typically works. You might need to remove the ' (x86)' portion depending on your version of Windows.
  5. Run the following command to create public.key: "C:\Program Files (x86)\GnuWin32\bin\openssl.exe" rsa -pubout < private.key > public.key
  6. The files are placed in your Desktop directory, i.e. C:\Users\Username\Desktop so you can retrieve them with Windows Explorer.

Signing trades

In order to accept any trades, whether automatically or manually, you need to sign a message using your private key. The reason for this is that no Bitcoins can be sent without you explicitly authorising them. Even if the main Bittylicious server gets compromised, the service that sends the Bitcoins will refuse to send them unless a message is signed using your private key.

The original software uses PHP so follow the instructions below to use it. The exact command line arguments to run are provided on the page for each trade, but feel free to see if you get suitable output by running sign.php 1 1 1.

If you have trouble getting PHP working, we do have a web/Javascript-based signer that should work on any modern web browser, and this might be particularly useful on the move. It keeps all key information on your local device so should be safe to use.

Click here to download the software: Media:Sign.zip.

Windows PHP Instructions

  • Download the latest Thread safe PHP package from PHP.net. Choose the x64 version only if you have a 64-bit version of Windows.
  • Unpack the ZIP file somewhere suitable. We suggest C:\PHP.
  • Go into this directory and rename php.ini-production to php.ini
  • Open up php.ini and uncomment (remove the ;) on the line reading ;extension=php_curl.dll so it just reads extension=php_curl.dll. Do this also with the lines extension=php_openssl.dll and extension_dir = "ext". This enables the curl and OpenSSL modules which are required. On more recent versions/downloads of PHP these lines are ;extension=curl and extension=openssl so you may need to check for both.
  • You'll also usually need to add the PHP directory to your PATH. This page and the section below has a fairly good description of how to do that. In your case you will probably want to add ;C:\PHP, assuming that's where you extracted the files to.
  • If you used the batch file in the OpenSSL section:
    • Run cmd from the start menu
    • Type cd %UserProfile%\Desktop\Bittylicious
    • Type php sign.php 1 1 1 to test the program.
  • If you did not use the batch file in the OpenSSL section:
    • Extract sign.php from the download above to a suitable location. Make sure that your private.key is in the same directory as sign.php.
    • Run cmd from the start menu.
    • cd to the location that you extracted sign.php to.
    • Type php sign.php 1 1 1 to test the program.
    • Copy and paste the output, ensuring it doesn't have any spaces in and all characters are copied. This may involve increasing the size of the cmd prompt window by dragging the bottom right tab.

Common Errors

  • 'php' is not recognized as an internal or external command, operable program or batch file.

If, when running php, you get this then PHP has not been added to the PATH correctly so please refer to the instructions above

  • VCRUNTIME140.dll.dll is missing

Download the Vistual C++ Redistributable from https://www.microsoft.com/en-GB/download/details.aspx?id=48145 Even if you are running 64 bit windows, get the x86 version here

  • MSVCR110.dll is missing (or similar errors)

Usually this will happen in Windows 8 or 10 machines. You need to install the correct 'Visual C++ Redistributable for Visual Studio 2012 Update 4' package from this link on the Microsoft site. Get the 64 bit version if you have 64 bit Windows or 32 bit version if you have 32 bit Windows

Linux PHP Instructions

  • Install php using your package manager, e.g. apt-get install php or apt-get install php5-cli.

MacOS X PHP Instructions

  • Visit PHP-OSX
  • Download a suitable version. For example, installing PHP 5.5 requires that you open terminal and run the following command: curl -s http://php-osx.liip.ch/install.sh | bash -s 5.5
  • Place your public.key, private.key and sign.php in a folder
  • in terminal type “cd “ (note the space) and then drag the folder you just setup from Finder to the terminal window. This will fill in the full path for you and then, once you hit enter, you’ll have navigated to that path in terminal
  • Type php sign.php 1 1 1 to test the program.

Javascript Instructions (Beta)

Access this over the Internet on the Bittylicious site.

Note that we strongly recommend you download this to be run locally in case our web site ever becomes compromised and you inadvertently give away your private key.