This week we became car salesmen and tore the blocks up with all the code and project updates, you might want to put a helmet on, we're going in deep!
This week we'd like to give thanks to the pizza guy for always being on time, and never forgetting the parmesan. You make this whole thing possible dude-friend-guy.
TurtleCoin is launching .trtl domains!
Coming in hot with the dual issue! This Week and Last Week in TurtleCoin just didn’t have the same ring to it, so we did our best with the title. As you know this is a semi weekly article we like to do when time permits to keep the community up to date with our progress. If this is your first time with us, stop by the chat and say hello 🙂
This week our biggest April fool's joke was saved for the peddlers of ASIC and FPGA mining hardware. RIP, till next time, old friends.
This week we added a new section in the roundup, RIG OF THE WEEK!
In this episode: we get a mobile wallet and find out what happens when you drink milk and beer at the same time.
Finally! Unless you’ve been under a rock somewhere you might have noticed something the last day or so. Coming by a block without about a thousand transactions waiting to get in it ahead of you was pretty tough if you were trying to sync a wallet yesterday. Kind of makes you wonder, was this an attack or was TRTL suffering from an inability to tolerate any and all types of traffic?
Both, is your answer. Like we’ve said before, this is far from the worst we’ve seen, but any time transactions are slowed down and mining is impacted, we have to jump into action…. And action is what took place! Keeping with tradition, we released a hot patch, courtesy of Zpalmtree which effectively limits the amount of “extra data” you can tack on to a transaction. Everything that needs to fit in a transaction will still fit in a transaction after the patch takes place, just with less wiggle room for any BS.
Thanks for your patience while we got things cleared up 😀 and now for our developer updates…
There is a pending fork upgrade in 9 days, if you care about transactions flowing as fast as usual, please make sure you’ve updated to help push out spam attacks like these in the future –
Japawolf Meetup – Japakar and greywolf’s rescheduled meetup was a great success! There was some hardware exchanged – some video adapters for this (https://turtlenode.co/img/colorswitching-turtle.gif), and Japakar got a handful of TurtleCoin stickers that Browns1964Champs sells. greywolf wore his TurtleCoin t-shirt from DonMatus on Amazon. Most of the convo was about TurtleCoin: challenges of non-devs to setup and keep running a public node (including the good and bad of using the HA wrapper vs just simply making a script of commands), the pros and cons of various wallets currently in use, the great camaraderie in the community, and the quality and abundance of spot-on support from so many friendly turtles. They also talked a little DeroGold chatter; different techniques in web hosting; comparison between hosting services, with and without VPS; and a little normie shit. – Japakar & greywolf
TurtleCities – We are growing quickly at 45 current users and plenty more on the waiting list 🙂 Just a reminder for those on the waiting list, if you want to move up to the front of the line, just hop in discord and talk to RockSteady and if you ask nicely you can have a free account too. What is TurtleCities? Well, a lot of us old tortoises used to use a service called Geocities in the early days to make free homepages to show our flashy gifs to our friends and share our embarrassing music preferences, so we thought it’d be cool to have something similar for TRTL users and we named it TurtleCities. You get 1 floppy disk worth of space to express yourself to your heart’s content. You’d be surprised what people have done with their pages! We also offer paid services like linux shell accounts and dual density floppy storage, with a 100% no-money-back guarantee on service quality and outages. You can’t beat it, folks.
Thinkpol’s page – http://pages.turtlecoin.lol/~thinkpol/
Tgroh007’s page – http://pages.turtlecoin.lol/~tgroh007/
PeteOnealJr’s Page – http://pages.turtlecoin.lol/~peteonealjr/
Emperor’s Page – http://pages.turtlecoin.lol/~emperor/
Wesley’s Page – http://pages.turtlecoin.lol/~wesley/
My page – http://pages.turtlecoin.lol/~rocksteady/
The Great Spam Incident of 2019 – For those who skim, the top part mentioned briefly a spam attack. If you’d like, here’s a grossly exaggerated and satirized sequence of events, sponsored by TMZ.
The last day or so, someone was uploading 0.1 TRTL transactions by the hundred, which were packed to the brim with the same nonsense data over and over, and a picture of a red mario shell with the little yellow points above it. We lol’d, then we cried. It disrupted the flow of transactions because the transaction pool quickly swelled to almost 10k transactions that we had to chew through in order to get through it all. In a perfect world that’s no problem for our network, we have really fast blocks that are pretty stretchy, but this time that fought us somewhat as I also mentioned the transactions were filled with trash. In two days we added a few hundred megabytes to the chain, and had a taste of what mainstream adoption would mean volumewise on-chain.
A hot patch was pushed out first to our biggest block producers to get them to agree to stop pushing nonsense, or as little nonsense as possible with the transactions in their blocks. We don’t want to deny that traffic, we just don’t think someone should be able to pack the traffic full of trash that we have to carry for all of history. We did this by limiting the size of something called TX_Extra, which is similar to the OP_Return field if you’re familiar with BTC and how extra data works in their transactions. Typically what goes in this field is a payment ID, or an encrypted chat message, or whatever you want to put in there evidently.
The turtle shell gif was funny, but the network choked as our smallest daemons were tapping out as their mempools started flooding. Each daemon has a record of the transactions it sees waiting in line for processing, and at a certain point the size of that waiting list can cause them to shut down. For some reason, nobody knows why, this almost never affects Windows daemons, as much as that hurts to say. As things reached a fever pitch, the biggest block producers had implemented the fix and we began chopping through the weeds to clear out the work (we currently sit with 2 transactions in the pool as I write this) things started to show signs of calming down.
Fuckery, Act II – Well, as one might ask, what happens when someone splits their entire stack into a mountain of little tiny pennies (pennii?), well of course, they have to convert them back into dollar bills don’t they?
Enter TRTL’s second Achilles Heel, the fusion transaction backlog, AKA the Coinstar of Death.. When someone needs to make a transaction consisting of a lot of inputs, the wallet might try to “fuse” some of those to turn the little pennies into dollars. We’ve done articles about this in the past, so it’s not a new concept and it helps us a lot, and usually any slowness in the chain is usually a large exchange doing a full fusion optimize on their wallet. Unfortunately constantly cranking out the spam-pennies for two days straight means you have a LOT of pennies to turn back into dollars, and they’re limited as to how many can be converted in each block by a ratio set in the code. To make matters worse, we have the same issue we mentioned before because these fusions tend to flood the transaction pool with at times *thousands* of transactions.
More chewing ensued. Much patience was had by the community as the miners strapped their hardhats on and went to work yet again to clear out the weeds, and many hours later here we are. Core team’s going to hibernate for a day or some and come back with some updates that have a bit more finality to them rather than being a patch. Thanks for your patience and help in getting this fixed 🙂 – TRTL Core Team
10,000 TRTL – Write a guide on mining TRTL on an iOS phone with the app XMR Miner. Must be modeled after existing guides, I can give a hand wherever needed! – Sajo8
200-700 TRTL per fix – Help correct information or fix broken links in the turtlecoin docs! Bounty depends on information fixed, feel free to contact me for more info – Sajo8
Easy Beginners For Devs
Want to get your feet wet being a developer at TRTL? Here’s a list of issues in our core Github repo that Zpalmtree has marked as “Good First Issues” which are easy low hanging fruit for people to earn their pink Developer role in Discord. Here is a link and brief description just in case you’re interested!
Add RPC method to validate address
Two roundups in three days, who knew we’d be so lucky! Back on schedule!
TurtleEDU – Thanks to all of the students who have submitted spelchex and currectshuns forr TurtleCoin 101 🙂 Fexra and I have had a fun time hunting down errors and resetting passwords. The email system is still kind of a joke (it uses a gmail integration that worked one time, we swear), so please write down your passwords until we figure out something to fix it. A lot of you have been asking about when followup classes will be ready, and I’ve begun gathering information about what people want to see in the Beginner’s Git class which goes over the Git version control tool we use. If you have suggestions relevant to the Git class, please post them in #edu_general. Since the goal of the first class was to turn people into competent TurtleCoin users, the goal of this next class will bring everyone to the level where they should feel comfortable contributing on Github, which as you may know is how you get your pink “Contributor” role in Discord. – Rock
Turtle Swap Protocol Whitepaper – I had the chance to speak with Napoleon (from TRTL and VELD) and we’re fleshing out some of the concepts laid out in the Turtle Swap Protocol Whitepaper as it appears he’s been working on developing a similar concept for Veldspar. The concept aims to enable wallet to wallet transfers of multiple currencies without touching an exchange, and in this case it’s particularly interesting as it’d involve a swap outside of a cryptonote network. I’m hesitant to call them atomic swaps just yet, but the whitepaper gives the gist of how it’d function at a conceptual level. We’re looking for other devs to collab with on developing the next draft of the whitepaper, so if you’re the type of person who’s interested feel free to stop by the chat in #dev_general or create an “issue” in the turtle-labs repo. – rock
The TurtleCoin-Utils package can be used in browser, in Node.js, react-native, and has TypeScript bindings available.
Using this package, it’s very easy to create new wallets, encode addresses, decode addresses, handle integrated addresses, scan transactions for your funds, create new transactions, and etc.
This package is very powerful and provides a nice way for those looking to get started in TurtleCoin development easy to follow source code that guides you along the way. It is also part of the foundation of TurtlePay payment processing and is used heavily by Zpalms’s wallet backend in JS.
Running all that crypto can be a bit slow in raw JS, but no worries, help has arrived.
The TurtleCoin Crypto module for Node.js is a native C++ addon for Node that provides significantly faster cryptographic routines for use with TurtleCoin-Utils and other packages. It is very generic in handling CryptoNote related cryptography so many projects besides TurtleCoin may find good use of it. It exposes a lot of the underlying cryptography that the TurtleCoin Utilities needs as well as a few extras.
The TurtleCoin Crypto module is automatically loaded as an optional depenedency for TurtleCoin Utils which has the utils package us it for the crypto (30-40x faster than the native JS code) and falls back to the native JS if necessary.
TurtlePay Updates – We’ve been working hard implementing some updates to underlying packages (see above) to speed up the processing of the one-time wallets. In addition, we’ve been working on extending out some of the functionality of the blockchain API to support additional endpoints that provide the necessary data for working with additional wallets like Zedwallet++, wallet-api, walletbackend-js, and the mobile wallet that Zpalm is working on.
In this better late than never edition of the weekend roundup, we test our skills of survival while waiting for the Comcast guy!
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
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
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
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
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!).
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
It’s everything DASH intended to be but without Masternodes.
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