This Week In TurtleCoin (FEB 10, 2019)

In this better late than never edition of the weekend roundup, we test our skills of survival while waiting for the Comcast guy!

Developer Updates

TurtleCoin + Alpine + Docker – I’ve managed to get the TurtleCoin binaries to compile on Alpine. There were a couple of issues that were preventing this. The first issue is that ucontext was deprecated in POSIX which musl adheres to. Thankfully someone had created a library that solves the problem. The second issue was that musl has a PAGE_SIZE macro defined in limits.h that was conflicting with a parameter used on slow-hash.c. This has now been changed to page_size in the core, resolving the conflict. So far, I’ve created three images. The first image, which is meant to be a starting point for your own images, builds all the binaries in Alpine then copies them to a scratch container resulting in an image size of 22.6MB. The zedwallet container comes in at 7.96MB and the TurtleCoind image, which includes checkpoints, is only 90MB. I plan to create a series of docker-compose files that will tie them together to help accomplish various tasks. You can view the images on Docker Hub: https://hub.docker.com/r/andrewnk/turtlecoin or on github: https://github.com/andrewnk/turtlecoin-docker – andrew | trtl.rocks

https://github.com/andrewnk/turtlecoin-docker

Turtle Simulator UE4 – Turtle Simulator has now been uploaded to GitHub! If you want to help with the project, or if you if you are interested in game design, check out the code and give me a message in #Dev_gaming channel! Im looking for anyone who knows: 3d Modeling/ Animation/ UV maps. Coding in UE4, Blueprints or C++ Music /Audio Ideas / Level design It’s a massive project I’ve undertaken so any help takes something off my to-do list. Thanks in advanced! Looking forward to see what we can make together! Oiboo P.s No minimum skill level, all help will be appreciated! – Oiboo

https://github.com/Oiboo/TRTL-Simulator

TRTL.rocks – I’ve made several improvements and changes to the website. I made a silly logic error that caused the initial load time to vary drastically or stall altogether. If the node or pool API is not accessible, then it won’t be shown on the site. If you don’t see your node or pool in the list, this is most likely the reason. I’ve cleaned up the line chart, including formatting y-axis and point labels, which should help readability. I’ve added tooltips to most table headers that describe what the column represents. These can be turned on or off by toggling the Tooltips switch on the bottom right hand of the screen. Finally, I’ve added the ability to switch the line chart between live and historical data. On initial load, the live mode will be enabled and updates are displayed whenever the data is pushed from the database. I’m in the process of rewriting iburn’s blockexplorer-cache library to use sequelize, which will help me move on to the block explorer portion of the site. – andrewnk | trtl.rocks

https://github.com/andrewnk/turtle-explorer

Promote Your Bounty

500,000 TRTL – Currently I am seeking a pair of PHP hands that have the skill to implement some necessary connections to a particular API database, and implement it into a WordPress website. Not completely being able to foresee all the tasks but I believe it will be a one-time effort, realisable in a day, spread over two weeks. Please PM me for more information. – 476190.47619047

1,218,917 TRTL – Will buy developer license for Turtle wallet app – mikeykones

Fork Watch

Excelsior

The Celestial community called out.. And the call was answered. We couldn’t save the existing chain, so we re-forked, gave it a new name, and launched Excelsior on Sunday the 3rd of February. All the same network settings the previous dev. gave it, just a new name, logo, and updated codebase.
If you don’t know Celestial; it was the first coin using the CN Soft Shell algorithm, by TurtleCoin (now with Lite Blocks by Rashed!).
Supply; 1,700,000,000.00000
Premine; 11,000,000.00000 (for 1:1 swap for existing mined coins)
Block Reward; (Approx) 100.64280 XLS
Emission speed factor: 24
Find us on the web; http://xlscoin.info Join us in our Discord; https://discord.gg/rhfW9jZ

Lithe™

It’s everything DASH intended to be but without Masternodes.
https://github.com/lithe-project

Community Advertising

2 nodes, twice the fun! turtle.japakar.com

Hey! I just wanted to remind you guys the best server to sync your wallet with is still turtlenode.online! Thanks! -Morpheus

Shoutouts & Thanks

Great support from Belorion in helping get the Nibblebox all in one miner running smoothly for NibbleClassic! – Sups

Shoutout Birmingham iron and the aaf!! Go Luis Perez 💪 – rogerrobers

Shout out to me, Dio! – khem Boi

Shouts out to IBMCD for his work with multisig! – rock Continue Reading →

This Week In TurtleCoin (Feb 4, 2019)

Developer Updates

I’ve managed to get the TurtleCoin binaries to compile on Alpine. There were a couple of issues that were preventing this. The first issue is that ucontext was deprecated in POSIX which musl adheres to. Thankfully someone had created a library that solves the problem. The second issue was that musl has a PAGE_SIZE macro defined in limits.h that was conflicting with a parameter used on slow-hash.c. This has now been changed to page_size in the core, resolving the conflict. So far, I’ve created three images. The first image, which is meant to be a starting point for your own images, builds all the binaries in Alpine then copies them to a scratch container resulting in an image size of 22.6MB. The zedwallet container comes in at 7.96MB and the TurtleCoind image, which includes checkpoints, is only 90MB. I plan to create a series of docker-compose files that will tie them together to help accomplish various tasks. You can view the images on Docker Hub – Andrew | trtl.rocks

https://hub.docker.com/r/andrewnk/turtlecoin or on github: https://github.com/andrewnk/turtlecoin-docker

 

trtl-rocks – I’ve made several improvements and changes to the website. I made a silly logic error that caused the initial load time to vary drastically or stall altogether. If the node or pool API is not accessible, then it won’t be shown on the site. If you don’t see your node or pool in the list, this is most likely the reason. I’ve cleaned up the line chart, including formatting y-axis and point labels, which should help readability. I’ve added tooltips to most table headers that describe what the column represents. These can be turned on or off by toggling the Tooltips switch on the bottom right hand of the screen. Finally, I’ve added the ability to switch the line chart between live and historical data. On initial load, the live mode will be enabled and updates are displayed whenever the data is pushed from the database. I’m in the process of rewriting iburn’s blockexplorer-cache library to use sequelize, which will help me move on to the block explorer portion of the site. – Andrew | trtl.rocks

https://github.com/andrewnk/turtle-explorer

Turtle Simulator has now been uploaded to GitHub! If you want to help with the project, or if you if you are interested in game design, check out the code and give me a message in #Dev_gaming channel! Im looking for anyone who knows: 3d Modeling/ Animation/ UV maps. Coding in UE4, Blueprints or C++ Music /Audio Ideas / Level design It’s a massive project I’ve undertaken so any help takes something off my to-do list. Thanks in advanced! Looking forward to see what we can make together! Oiboo P.s No minimum skill level, all help will be appreciated! – Oiboo

https://github.com/Oiboo/TRTL-Simulator

Promote Your Bounty

500,000 TRTL – Currently I am seeking a pair of PHP hands that have the skill to implement some necessary connections to a particular API database, and implement it into a WordPress website. Not completely being able to foresee all the tasks but I believe it will be a one-time effort, realisable in a day, spread over two weeks. Please PM me for more information. – 476190.47619047

Community Advertising

Hey! I just wanted to remind you guys the best server to sync your wallet with is still turtlenode.online! Thanks! -Morpheus

Shoutouts & Thanks

Sups – Great support from Belorion in helping get the Nibblebox all in one miner running smoothly for NibbleClassic!

funkypenguin – Shoutout to @Rock’s new avatar, which is scary-as-hell (gah, i changed it before i saw this – rock)

anon – fuck you rock i know u read this

dsanon – <3 the turtlecoin community.

anonymous – will you go to prom with me zpalm

  Continue Reading →

FunkyPenguin’s Turtle Pool Secrets

A lot of you out there have questions about how pools work and what goes into running a successful one. Today we’re checking out an interview with FunkyPenguin who runs probably one of the coolest setups I’ve seen so far with all of the pools I’ve seen. Maybe I’m just a nerd, but I have a big appreciation for the way he’s doing things.

You’re gonna love this one!

RockSteady
Thanks again for agreeing to the interview. The purpose of this interview is for us to highlight smaller pools that have unique things about them. Giving exposure to smaller pools is important in diversifying the hashrate. I hope today to hear about you, your pool, your history in mining and what a user might find unique about your pool.

funkypenguin 

Cool

RockSteady

Your pool is a cool one, and I think the miners as well as developers will appreciate the unique qualities to it. You first came on my radar with some of the interesting infrastructure work you were doing behind the scenes. I’d like to get in to that soon, but first, tell us how you got involved in TurtleCoin, and what led to you running a pool.

funkypenguin 

(I’ve documented this here: https://www.funkypenguin.co.nz/opinion/what-is-turtlecoin-and-why-do-i-care/), but here’s the off-the-cuff version

I was opportunistically looking for coins to mine after the Monero Cryptonight v7 fork, so I spent some time on cryptunit.com. Every so often, I’d see “TurtleCoin”, and laugh at what a silly name it was, and how ridiculous the crypto space had become.

Somewhere (maybe Reddit) I saw the headline for the BlockZero (Kevin Rose) podcast featuring TurtleCoin, and the name triggered some brand recognition. The level of respect that Kevin had for the project, and the way “community” was highlighted, changed my initial skeptical opinion, and I jumped into the Discord

I felt that I wanted to be more than another opportunistic miner, and that a “baby” cryptocurrency was a good place to start learning. (There was no NZ mining pool)

I’d already spent 6-8 months building my Geek’s Cookbook (a collection of self-hosted apps running within Docker Swarm), and wondered whether I could build a TurtleCoin mining pool. I figured I should start with a testnet, so I started asking some questions in #dev_general, and @SoreGums pointed me in the right direction. I ended up submitting a PR for a testnet Docker instance of the TurtleCoin daemon which could be used to create a testnet in total isolation from mainnet.

Having built a testnet, I started working on the mining pool, learning about wallet/daemon/redis/pool, and how they interrelate. I wrote up the Docker Swarm design (a bit outdated now).

Turtle Pool – Funky Penguin’s Geek Cookbook

There were some interesting challenges re how the pool components talked to each other, some of which lined up very well with the “one-process-per-container” model of Docker. I sort of fell into it from there, started mining in my pool, discovered that I could advertise in #mining , posted my pool to r/TRTL a few times, and enjoyed the process of mining “together” with other geeky crypto enthusiasts

RockSteady

It’s great that you’ve documented your journey the whole way, and as a microservice nerd in my own life, I feel a personal respect for what you’ve done.

funkypenguin

(To be honest, I also want to profit from crypto, and I figured I’d leverage my systems experience to build pools to amass some coins, rather than strictly mining-and-selling-and-hodling)

RockSteady

You’ve got a cool frontend on your pool, and as I remember, you were one of the first to have the new-style interface. What are some of the unique qualities of your pool that would be interesting to a miner looking to diversify their hashrate some?

funkypenguin

I polled my miners on this question, asking “what features does a miner really care about?”. The best response was from @slashatello, who said “miners care about.. BLOCKS”. I was interested in the telegram/email notifications from https://github.com/dvandal/cryptonote-nodejs-pool, which remain my favourite feature. Here’s an example:

RockSteady

That looks cool, break it down for me- what’s going on in that pic?

funkypenguin

11:57 : The pool restarted (I’m running turtlecoind-ha, that’s another story), my rig connected

12:04 : The same again (this happens when the daemon gets stuck, it sometimes takes a few goes to restore stability)

12:07 : One of the miners finds a block. Yay! Now we wait 20 min to confirm it’s not an orphan

12:11 : Yes, daemon restarts again

12:29 : Block is not orphaned, now is the first time (based on these notifications) we see what our effort was (43%). Unlike the original turtle-pool software, lower % is better, so we “found” this block in 43% of the time we’d statistically expect to (we were lucky)

<by this time, the wallet has received the block reward. Redis calculates how much each miner is due, and payments are prepared>

12:31 : The pool sends the miners their portions of the block reward (minus my 0.0987654321% fee), everyone is happy

(the fee is a funny story actually – when I first setup the pool, I looked at the list of pools and saw someone else’s pool listed as 0.0987..%. I thought it was a clever attention-grabbing move, so I adopted it for myself. I think I read later that it was just a math bug!)

RockSteady

That’s pretty funny, actually! Thanks for giving us the play by play. That’s a pretty intricate setup. So you’ve made a pool, and you’ve written guides and Dockerfiles for us, what don’t you do?! You’re awesome! What do you have planned for the future, and what are you interested in learning right now?

funkypenguin

Thank you Well, this daemon restarting thing is a bit of a PITA, and the original platform I ran my swarm on was heavily contended at times, so I’ve just finished migrating the pool to a Google Kubernetes Engine (GKE) cluster. I still have the occasional daemon issue (as evidenced above), but we seem to recover from a stalled daemon with a few quick restarts.

I overspeced the GKE cluster when I built it (I’m only using 22% of my resources for Turtle/Moneytips pools), so I’m currently playing with autoscaling the cluster, as well as using a “tainted” nodepool running (cheap) pre-emptive node instances for doing CPU-heaving stuff like syncing new coins blockchains. The fact that they’re pre-emptive means that Google could turn them off at any time, but the GKE engine would just spin me up a new one in a few min, and for the purposes of an initial blockchain sync, I don’t need to maintain any sort of availability

So I’m enjoying learning more about the world of Kubernetes / Terraform. I’m also continuing to build the Geek’s Cookbook community, the Discord gets quite busy at times, and there’s now enough geeks on board that I don’t end up answer every question myself, which is great to see.

I’ve dabbled with “livestreaming”/”livecoding” – last night I had an audience of 4 geeks watching me configure Lidarr with NZBHydra – thrilling stuff!

Oh, and my new darling, Prometheus/Grafana – I’ve been building on the “swarmprom” stack , adding prometheus exporters for nvidia GPU stats, Emby, Nginx, etc

funkypenguin 

I’m planning on doing Geek’s Cookbook Vol II – The Kubernetes Edition, although how I combine this all into the same content structure is YTBD.

One of the challenges with either Swarm or Kubernetes is that it’s very hard to have the original source IP of the miner visible to your pool, because of all the layers of load balancing and NAT that applied. This means that you can no longer ban bad/misconfigured miners by IP address (because you don’t have their IP address). I haven’t found a failsafe solution for this yet, but I have an open bounty for providing a way to ban miners based on TRTL address, rather than IP address. I also had to add a workaround to the pool software to bypass the IP-address-check which you’d normally have to pass, in order to enable/disable email notifications.

RockSteady

If you had to make an appeal to miners out there wanting to spread out the hashrate some, what would be an advantage of choosing your pool?

funkypenguin

While I originally tried to “corner the market” on an NZ / AU pool, truth is that the latency to NZ has no impact on blocks found, in real world observation. 90% of our pool hash (@Slash-atello) is from the US. So I’d appeal to TRTL miners (worldwide) who are also into microservices / homelab / self-hosting (and LEGO, high-fiving @bruceleon) to not just mine with us but come and “geek out” with us in Discord at http://chat.funkypenguin.co.nz

RockSteady

I think I’ve got everything we need, is there anything you wanted to add that I may have missed?

funkypenguin

Probably yet (yet another) acknowledgement that the “secret sauce” in TRTL, which stands out from other coins, is the focus on community and fun. Thanks for welcoming me

RockSteady 

Thanks for being a part of this experience!

Continue Reading →