Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won

  • Feedback


Everything posted by buzzkillb

  1. forked and added carsen's tradeogre market with sample Denarius settings.json.template https://github.com/buzzkillb/D-explorer
  2. For latest 1.7.3 release recompile daemon putting a // in front of this line https://github.com/carsenk/denarius/blob/master/src/rpcrawtransaction.cpp#L115 Error reading "last" property during reindex reference: https://github.com/iquidus/explorer/issues/335 Change to amount of CPU's and test sync "block_parallel_tasks": 4, sample settings.json /* This file must be valid JSON. But comments are allowed Please edit settings.json, not settings.json.template */ { // name your instance! "title": "IQUIDUS", "address": "", // coin name "coin": "Denarius", // coin symbol "symbol": "D", // logo "logo": "/images/logo.png", // favicon "favicon": "public/favicon.ico", // Uses bootswatch themes (http://bootswatch.com/) // Valid options: // Cerulean, Cosmo, Cyborg, Darkly, Flatly, Journal, Lumen, Paper, // Readable, Sandstone, Simplex, Slate, Spacelab, Superhero, United, Yeti // theme (see /public/themes for available themes) "theme": "Cyborg", // port to listen for requests on. "port" : 3001, // database settings (MongoDB) "dbsettings": { "user": "iquidus", "password": "password", "database": "explorerdb", "address": "localhost", "port": 27017 }, //update script settings "update_timeout": 10, "check_timeout": 250, "block_parallel_tasks": 4, // wallet settings "use_rpc": true, "wallet": { "host": "localhost", "port": 32369, "username": "denarius", "password": "password" }, // confirmations "confirmations": 10, // language settings "locale": "locale/en.json", // menu settings "display": { "api": true, "markets": true, "richlist": true, "twitter": true, "facebook": false, "googleplus": false, "youtube": false, "search": true, "movement": true, "network": true }, // index page (valid options for difficulty are POW, POS or Hybrid) "index": { "show_hashrate": true, // Show Market Cap in header "show_market_cap": false, // Show Market Cap in place of price box "show_market_cap_over_price": false, "difficulty": "Hybrid", "last_txs": 100, "txs_per_page": 10 }, // ensure links on API page are valid "api": { "blockindex": 1337, "blockhash": "000000000661c86bf89e652eb142093bd9123006f3085595dee183bfe1c24570", "txhash": "000000000661c86bf89e652eb142093bd9123006f3085595dee183bfe1c24570", "address": "DABQj7yoQuvfxVVWMf2mqWhoHLDMUqUJsc" }, // market settings //supported markets: bittrex, poloniex, yobit, empoex, bleutrade, cryptopia, ccex //default market is loaded by default and determines last price in header "markets": { "coin": "JBS", "exchange": "D", "enabled": ["bittrex"], "cryptopia_id": "1658", "ccex_key" : "Get-Your-Own-Key", "default": "bittrex" }, // richlist/top100 settings "richlist": { "distribution": true, "received": true, "balance": true }, // movement page settings // min amount: show transactions greater than this value // low flag: greater than this value flagged yellow // high flag: greater than this value flagged red "movement": { "min_amount": 100, "low_flag": 1000, "high_flag": 5000 }, // twitter, facebook, googleplus, youtube "twitter": "iquidus", "facebook": "yourfacebookpage", "googleplus": "yourgooglepluspage", "youtube": "youryoutubechannel", //genesis "genesis_tx": "c6d8e8f56c25cac33567e571a3497bfc97f715140fcfe16d971333b38e4ee0f2", "genesis_block": "00000d5dbbda01621cfc16bbc1f9bf3264d641a5dbf0de89fd0182c2c4828fcd", //heavy (enable/disable additional heavy features) "heavy": false, //disable saving blocks & TXs via API during indexing. "lock_during_index": false, //amount of txs to index per address (stores latest n txs) "txcount": 100, "txcount_per_page": 50, //show total sent & received on address page (set false if PoS) "show_sent_received": true, // how to calculate current coin supply // COINBASE : total sent from coinbase (PoW) // GETINFO : retreive from getinfo api call (PoS) // HEAVY: retreive from heavys getsupply api call // BALANCES : total of all address balances // TXOUTSET : retreive from gettxoutsetinfo api call "supply": "GETINFO", // how to acquire network hashrate // getnetworkhashps: uses getnetworkhashps api call, returns in GH/s // netmhashps: uses getmininginfo.netmhashpsm returns in MH/s "nethash": "netmhashps", // nethash unitd: sets nethash API return units // valid options: "P" (PH/s), "T" (TH/s), "G" (GH/s), "M" (MH/s), "K" (KH/s) "nethash_units": "G", // Address labels // example : "JhbrvAmM7kNpwA6wD5KoAsbtikLWWMNPcM": {"label": "This is a burn address", "type":"danger", "url":"http://example.com"} // label (required) = test to display // type (optional) = class of label, valid types: default, primary, warning, danger, success // url (optional) = url to link to for more information "labels": { "DDD6SzCwXSEcTPHmNwEQX6xbUs2Rf3svNX": {"label": "Cryptopia", "type":"primary", "url":"http://disney.com"}, // "JSWVXHWeYNknPdG9uDrcBoZHztKMFCsndw": {"label": "Cryptsy"} } }
  3. Running non stock kernels in Ubuntu, you might get an SELINUX error like "cmd_run.go:876: WARNING: cannot create user data directory: failed to verify SELinux context" sudo apt install selinux-policy-default sudo nano /etc/selinux/config then change the config file to SELINUX=disabled # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled reboot system reference: https://forum.snapcraft.io/t/selinux-warning-when-running-lxc/11100/11
  4. Ubuntu 20.04 QT sudo apt-get update -y && sudo apt-get upgrade -y sudo apt-get install -y git unzip build-essential libdb++-dev libboost-all-dev libqrencode-dev libminiupnpc-dev libevent-dev autogen automake libtool libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools qt5-default zlib1g-dev jq libcurl4-openssl-dev sudo apt-get install make wget https://www.openssl.org/source/openssl-1.0.1j.tar.gz tar -xzvf openssl-1.0.1j.tar.gz cd openssl-1.0.1j ./config make depend make sudo make install sudo ln -sf /usr/local/ssl/bin/openssl `which openssl` cd ~ openssl version -v sudo apt-get install libbz2-dev wget -O boost_1_55_0.tar.gz https://sourceforge.net/projects/boost/files/boost/1.55.0/boost_1_55_0.tar.gz/download tar xzvf boost_1_55_0.tar.gz cd boost_1_55_0/ ./bootstrap.sh --prefix=/usr/local ./b2 sudo ./b2 install sudo /bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/boost.conf' sudo ldconfig git clone https://github.com/carsenk/denarius cd denarius git checkout master git pull qmake "USE_UPNP=1" "USE_QRCODE=1" BOOST_LIB_PATH=/usr/local/lib LIBS=-lboost_chrono OPENSSL_INCLUDE_PATH=/usr/local/ssl/include OPENSSL_LIB_PATH=/usr/local/ssl/lib denarius-qt.pro make ./Denarius
  5. Getting multi nvidia GPU to work on Ubuntu headless is interesting. I am running on Ubuntu 19.10 Server headless with a mix of 1080 and 1070's. install nvidia drivers sudo apt install ubuntu-drivers-common ubuntu-drivers devices sudo ubuntu-drivers autoinstall install opencl drivers sudo apt update sudo apt install ocl-icd-opencl-dev reboot sudo reboot now install folding at home from the deb. What I then did from FAHControl was remove all the slots and save. If it worked you will see this in the System Info tab, if not try rebooting again.
  6. A better way to force finding new work. Go into FAHControl and go to the Status tab of your machine that doesn't have work. Under Folding Slots, right click the slot with no work. Click On Idle wait about 5 seconds, and then click On Idle again.
  7. To set big advanced work units for even more bonus points, go into FAHControl. Click the Slots tab, then your slot and then edit Then scroll down to Extra slot options and click Add Then type in client-type and bigadv, then click OK, save and restart the client. For more info on Big Advanced setting https://foldingathome.org/faqs/configuration-guide/switches-flags-options-v7-4-x-v6-32/big-advanced/
  8. To remote control the linux headless using FAHControl on Windows for instance. Edit config.xml on your headless server to include the password line. <!-- Remote Command Server --> <password v='password'/> example config.xml, replace passkey with your generated passkey for bonus points and make up a password for password. <config> <!-- Client Control --> <fold-anon v='true'/> <!-- Folding Slot Configuration --> <gpu v='false'/> <!-- HTTP Server --> <allow v=','/> <!-- Remote Command Server --> <password v='password'/> <!-- Slot Control --> <power v='FULL'/> <!-- User Information --> <passkey v='passkey'/> <team v='246218'/> <user v='buzzkillb'/> <!-- Web Server --> <web-allow v=','/> <!-- Folding Slots --> <slot id='0' type='CPU'/> </config> Restart the headless client sudo /etc/init.d/FAHClient restart Then in Windows go to FAHControl and add your server. Click Add in bottom left, then give your server a Name, use the IP address of the server, and the password you made up in the above file.
  9. If a cpu or gpu appears stuck and can't do new work. Try going to FAHControl and click Pause then Fold. On headless I just did below command to get new work units after CPU had issues getting more work. sudo /etc/init.d/FAHClient restart
  10. setup a passkey for bonus points https://apps.foldingathome.org/getpasskey
  11. For Linux headless, gonna use Ubuntu. https://foldingathome.org/support/faq/installation-guides/linux/manual-installation-advanced/ wget https://download.foldingathome.org/releases/public/release/fahclient/debian-stable-64bit/v7.5/fahclient_7.5.1_amd64.deb dpkg -i --force-depends fahclient_7.5.1_amd64.deb Input your name, team 246218, passkey if you made one (can be blank), LIGHT/MEDIUM/FULL, and autostart Yes to allow remote web viewing from another PC on your network since this is headless. nano /etc/fahclient/config.xml add these 2 lines, is your main network IP. <!-- HTTP Server --> <allow v=','/> <!-- Web Server --> <web-allow v=','/> restart the service systemctl restart FAHClient.service now check out the IP address with port number Should see this commands and log file location here https://foldingathome.org/faqs/installation-guides/linux/file-locations/
  12. If you have a CPU or GPU you can spare please consider donating some spare cycles instead of mining the crypto for a good cause. Team Name: Denarius Team Number: 246218 Download here https://foldingathome.org/start-folding/ Setup an ID after installing the software, and then input a name and join team Denarius by inputting the team number 246218 Stats page here https://stats.foldingathome.org/teams and here https://folding.extremeoverclocking.com/team_summary.php?s=&t=246218
  13. How to compile carsen's fork of BEAM to test atomic swaps. Using a Ubuntu 20.04 Focal VM. sudo apt install qml-module-qtquick-controls2 libqt5svg5-dev libboost-all-dev libssl-dev qtdeclarative5-dev sudo apt install build-essential curl wget unzip zlib1g-dev apt-transport-https libdb++-dev libboost-all-dev libqrencode-dev libminiupnpc-dev libevent-dev libcurl4-openssl-dev libssl-dev libtool libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools qt5-default qtbase5-dev-tools qml-module-qtquick-controls2 libqt5svg5-dev qtdeclarative5-dev golang go-dep sudo apt-get install qml-module-qt* sudo apt install qml-module-qtquick-controls sudo apt install qml-module-qtquick-dialogs sudo apt-get install qt511quick* qt511graphicaleffects sudo snap install cmake git clone https://github.com/carsenk/beam Compile wallet cd ~/beam cmake -DCMAKE_BUILD_TYPE=Release . && make -j2 After compile go to directory and run QT wallet cd /beam/ui ./BeamWalletMasternet Setup the BEAM wallet with password and copy generated seed down. Go to the GEAR icon, then SWAP tab to setup Denarius Click on Electrum to turn that on and leave Select server automatically checkmarked. Then click Apply -> Connect -> Show wallet addresses You can now send Denarius in. From this point its unclear how to send out. Also unknown if the BIP39 seed phrase is correct, as it would be great if we could throw this Denarius generated seed phrase into Coinomi. I couldn't get this idea to work yet. After sending in, go to the ATOM Icon and see your Denarius ready to swap.
  14. How to setup Yubikey 5 on Android phone and Windows Desktop guide, to replace Google Authenticator or Authy. Trying to think of ways this could be hacked, not quite sure all of the methods, but I think they all require physical possession of the yubikey itself and a password, on top of your login credentials. The idea behind this is hearing about sim swapping hacks and trying to get away from anything related to the phone carrier being hacked. Get yubikey somewhere, 2 or more of these as 1 will be a backup, probably official source so no tampering. I am using the Yubikey 5 for this example. https://www.yubico.com/products/ All authenticator downloads located here https://www.yubico.com/products/services-software/download/yubico-authenticator/ I don't have an iPhone so I can't test if the NFC part works on Apple products. On Android install the Yubico Authenticator App, now go to your site, lets pick https://www.southxchange.com/ . Go to user settings, Two-Factor Code Authentication and enable. When the QR shows up you want to scan this with your phone. Also write down the manual code. After the QT code is scanned in the phone will ask you to tap the yubikey NFC. Tap the yubikey to the phone. If you already have your backup yubikey, Click add and tap again. Now its stored on both yubikeys using QR code scanning. Enter the 6 digits to enable 2FA on your account. Download and install Windows Yubico Authenticator from the official link above. Plugin one of your yubikeys to your desktop, and your codes now pop up. Put passwords on both authenticator apps for extra security. For github, major exchanges, gmail, etc most of these offer to just add the key itself instead of using the 6 digit code. But this app is really handy for things like Discord.
  15. To run getinfo docker exec electrumx electrumx_rpc getinfo
  16. Yes the chaindata will work as I tried this about a week ago on an ARM setup, raspberry pi4 4gb. Now that more people are on latest wallet the sync is fast again. Please try again.
  17. ros-bot is the defacto standard at this point. But there is another one popping up. High chance of getting banned botting, but it appears not everyone gets banned. Do your own research as talking about this on official forums will make people extremely mad and get you flagged instantly.
  18. Updated dockerhub to latest v1.14. To use rocksdb instead of leveldb add this to the run command for latest and dcompact under -e COIN=Denarius \ -e DB_ENGINE=rocksdb \ If in doubt do this to start over docker stop electrumx docker stop electrumx-compact docker rm electrumx docker rm electrumx-compact rm -rf ~/electrumx Then rerun the 2 run commands. Basically run the first, wait for full sync, then stop, run dcompact, stop and then run the first electrumx. Cronjob should take care of the rest from there.
  19. https://denarii.cloud is now fully served through IPFS
  20. moving chaindata to its own host https://denarii.cloud
  21. chaindata is now on https://denarii.cloud running over IPFS
  22. an experimental feature to try getting ipns working faster is, try adding to your service file above too ipfs daemon --enable-namesys-pubsub source: https://blog.ipfs.io/34-go-ipfs-0.4.14#ipns-improvements to see if it worked run this command ipfs pubsub ls
  23. To take this a step further lets add TLS which requires nginx and letsencrypt certbot. remove the TXT and CNAME records from above and create A, AAAA, and TXT records for the example subdomain. Install nginx apt-get update apt-get install nginx Change the default config nano /etc/nginx/sites-available/default to this server { server_name ipfs.example.com; server_tokens off; listen 80; listen [::]:80; listen 443 ssl; listen [::]:443 ssl; location / { proxy_pass http://localhost:8080; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } } test the config nginx -t Install certbot add-apt-repository ppa:certbot/certbot apt-get update apt-get install python-certbot-nginx run certbot certbot --nginx -d ipfs.example.com Say yes to always use 443 or https, whatever it says, you want YES. reload nginx systemctl reload nginx Lets setup some automation, first to automate the certbot renewal. crontab -e 15 3 * * * /usr/bin/certbot renew --quiet Create a service to restart IPFS on reboot sudo nano /etc/systemd/system/ipfs.service edit to this [Unit] Description=IPFS daemon After=network.target [Service] ### Uncomment the following line for custom ipfs datastore location # Environment=IPFS_PATH=/path/to/your/ipfs/datastore ExecStart=/usr/local/bin/ipfs daemon --enable-namesys-pubsub Restart=on-failure [Install] WantedBy=default.target star the service and enable on reboot systemctl start ipfs systemctl enable ipfs Now the website has TLS and fully served through IPFS. Come up with a way to automate this command and the ipns will automatically update. TMP=`ipfs add -r /home/user/chaindata/ | awk 'END{printf $2}'` && ipfs name publish $TMP
  24. As a way to see if any features would be great to add to Jupiter Denarius IPFS uploader I figured why not create a website that can autoupdate on file changes and to the unsuspecting eye a typical user can't tell they are using an IPFS website. Example of what we are making as a test of full IPFS powah. First install IPFS, using ubuntu command line for this. https://docs.ipfs.io/guides/guides/install/ Download latest binary here https://dist.ipfs.io/#go-ipfs Open 2 terminals into your VPS or VM as eventually for this exercise we will run a daemon in 1 terminal and commands in the 2 terminal. Init IPFS and if in a datacenter (VPS) use the profile server flag. ipfs init --profile server This will give some information. I saved it to a text file because I had no idea if this is required for anything or not. Its not. in 1 terminal lets run the daemon ipfs daemon Make a folder like /home/user/test cd ~ mkdir test cd test put a file in there, anything, I am gonna get a block height that updates every so often wget https://pos.watch/height.txt create an index.html gonna use a quick sample so we use some javascript to read the height.txt file <html lang="en" > <head> <meta charset="UTF-8"> <title>Cool Test Site | Oh Yeah $D</title> <meta name="twitter:card" content="summary"> <meta name="twitter:url" content="http://api.pos.watch"> <meta name="twitter:title" content="Testing IPFS"> <meta name="twitter:description" content="Is Anyone Seeing Me?"> <meta name="twitter:image" content="https://i.imgur.com/lCvgFft.png?1"> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-129064662-1"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <meta name="google-site-verification" content="Rzkn_bajLR1WONHcP8ob-oP1TWDTZisaYGzeze3Rfnw" /> <link rel="manifest" href="/site.webmanifest"> </head> <body> <div> FULL IPFS TEST: | Block Height: <span id="height"></span> | PEER ID: REPLACEMEAFTERTRYINGTHISOUT </div> <script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js'></script> <script type="text/javascript" src="./script.js?version=0.01337"></script> </body> </html> Create script.js so we have a javascript to read the file fetch('height.txt') .then(function(response) { return response.json(); }) .then(function(data) { if (data) $('#height').html(""); $("#height").append(data); window.blockheight = (data); }) .catch(function(err) { console.log(err); }); Now the magic sauce to automate this, change the folder path to your folder path TMP=`ipfs add -r /home/user/test/ | awk 'END{printf $2}'` && ipfs name publish $TMP What this does is it recursively adds the test directory and then reads the last hash line and publishes to your PEERID, example output below Published to QmdKLWPao7d5NZQC92s6TRMVBuBrHfCyNZhVXTKAU42kuN: /ipfs/QmXzYAPHsNLucHFUS1tg1FW9P1PiDyq16ar1tGAhmfW13H peerid is QmdKLWPao7d5NZQC92s6TRMVBuBrHfCyNZhVXTKAU42kuN Now how do we view this like a normal website? I am going to use namecheap for this sample. In my example the peerid resolves to ipns and is using dnslink. api is my subdomain for practicing purposes. Which once this all propogates we can now go to http://api.pos.watch I suspect Denarius can do some really cool things if the wallet had DNS and a few more options like peerid.
  • Create New...