## Connect the Joule browser extension to the RaspiBlitz

https://lightningjoule.com/  
Bring the power of lightning to the web with in-browser payments and identity, all with your own node. 


### Preparation on the Pi

For Joule to work you will need to allow connection to your RaspiBolt from any IP (0.0.0.0). The communications will remain encrypted with TLS, but there is a a risk of a DDOS or other attack.  

* Open the LND configuration file:   
    `$ sudo nano /home/bitcoin/.lnd/lnd.conf`  

    Add the following line to the section `[Application Options]`:  
  ```tlsextraip=0.0.0.0```
* Delete tls.cert (restarting LND will recreate it):  
    `$ sudo rm /home/bitcoin/.lnd/tls.*`

* Restart LND :  
  `$ sudo systemctl restart lnd`  
  
* Copy the new tls.cert to user "admin", as it is needed for lncli:  
    `$ sudo cp /home/bitcoin/.lnd/tls.cert /home/admin/.lnd`

* Unlock wallet  
  `$ lncli unlock` 

* Allow the REST api communicate with any IP address:  
  `$ sudo ufw allow 8080 comment 'allow REST api from public internet'`

 * restart and check the firewall:  
  `$ sudo ufw enable`  
  `$ sudo ufw status`


### On the Linux desktop

* Install Joule for Chrome  
    https://chrome.google.com/webstore/detail/joule/aejmoogjdllanidlpfjmmmmimfaficio

* Click to the Joule extension button

* Fill in the LAN address of your RaspiBolt:  
    `https://your.RaspiBolt.LAN.IP:8080`

* Click "try clicking this link" in the error message

* Click the "Not secure" sign left from the URL

* Certificate > Details tab > Export > save the file to your Home directory

    alternatively you can extract the certificate form your node and copy it to your Home dir:
  `$ scp admin@your.RaspiBolt.LAN.IP:/home/admin/.lnd/tls.cert ~/` 

* Menu > Settings > Advanced (on the bottom) > Manage certificates > Authorities tab > Import > Choose to show "all files" and select the file you saved > Tick all three boxes > OK

    The certificate will appear under "org-lnd autogenerated cert" if you would need to modify it later

* Go back to the Joule Tab and try connecting again

* Now you need your macaroons. Copy the admin.macaroon and the readonly.macaroon from your node to your home directory:  
   `$ scp admin@your.RaspiBolt.LAN.IP:/home/bitcoin/.lnd/admin.macaroon ~/`

   `$ scp admin@your.RaspiBolt.LAN.IP:/home/bitcoin/.lnd/readonly.macaroon ~/`
 
* Drop the two macaroon files to the Joule window and continue.

* Confirm your node and create a password for Joule on the next screens and you are good to go. 