Categories
All

This Week In TurtleCoin (October 16, 2019)

Developer Updates

This is a place where anybody in our community can submit a post about the TRTL project they’re working on. It’s a great way to attract helpers for your project and show people what to keep an eye out for. We encourage you to show works in progress as well as finished products, as we’re happy to see them all and it shows that we’re an active community.

TurtleCoin + IPFS

TurtleCoin Checkpoints
People have been using checkpoints for quite some time now to help speed up their daemon in syncing with the network. The generation of the checkpoints has been handled via automatic generation since May 7, 2018. Since then, like clockwork, and with almost a 100% success rate, the checkpoints have been updated, pushed, and pull requested into the GitHub repository for the entire community to download as needed.

As the chain has grows bigger, the size of the checkpoints file grows as well. GitHub has a maximum single file size limitation without using addons (git-lfs). We worked around the last time we bumped into the limit by separating the checkpoints into two CSV files, the first containing the first million blocks, and the second containing everything else. The two files were joined together into one, compressed, and committed into the repo. Unfortunately, we were quickly approaching the need to split the file again, thereby creating three such CSV files; however, the resulting zip or tarball would have exceeded that same file size limitation. This is a problem for the whole community.

A while back, Rock mentioned something like, “”it would be cool if we could put checkpoints in IPFS””. Such thoughts were noted, tucked away, and you know, forgotten. As I started receiving warnings regarding coming up on the file size limit again, I investigated this option. Over a few days, I’ve put together a new checkpointing service, distribution systems, and leveraged the help of a few IPFS pinning services, to automatically update and deploy the checkpoints into IPFS. The checkpoints latest checkpoints are always available via IPFS and I’ve hijacked the site at http://checkpoints.turtlecoin.lol to provide a list of IPFS gateways where you can pick up the latest checkpoints (timed from your browser), provide details on how to use the checkpoints, given instruction on how to help distribute the checkpoints using IPFS, and even included a few developer tidbits for those of you that want to find the latest checkpoints programmatically.

Enjoy and hit me up in #dev_general if you have any questions or suggestions.
IBMCD
http://checkpoints.turtlecoin.lol

Threaded RPC

Threaded RPC
Been a busy few weeks, in fact I forgot to submit an update last week. The big thing I’ve been working on is putting the daemon RPC server on a separate thread. This allows the daemon to respond much quicker when it’s busy processing blocks and transactions.

The first version was a very simple change, and just passed the existing code through a new server and on a new thread. You can find that here if you want to try it out: https://github.com/turtlecoin/turtlecoin/pull/903

This version had a few multi threading issues which could cause crashes or bad data to be returned. So, I’ve been working on a full rewrite of the entire RPC code so I can more easily track down the crashes, modernize the codebase, and more easily add synchronization.

You can find this WIP here: https://github.com/turtlecoin/turtlecoin/compare/development…zpalmtree:threaded-rpc-wip

It currently has enough methods added to allow syncing a wallet with zedwallet-beta or wallet-api or proton. Once i’ve re-added all the other methods, I’ll start adding synchronization to fix the crashes with the first version.

Some other benefits of rewriting the whole module include much better CORS support, so you can access the daemon RPC from a browser with more ease, better error messages, and it setting a foundation for being able to build a much more friendly REST api. Finally, it will hopefully make it quicker to add new RPC methods and makes the wallet-api and daemon rpc code very similar.” Zpalm

ExtraHash rollin out after the interview

ExtraHash Interview
Big thanks to ExtraHash for taking time to do an interview with us. For those of you who don’t know, ExtraHash develops our default GUI wallet, and is also our newest Core Contributor, which is quite the accomplishment for someone who started out as a newbie when we initially took him home from the pound! Hope you guys enjoy, and we’d love to hear your suggestions for the next developer to interview for the series.
RockSteady
https://blog.turtlecoin.lol/archives/extrahash-interview/

TurtleEDU: Intro to Git

TurtleEDU: Intro to Git
The second class for TurtleEDU is ready, this class has Intro to TurtleCoin as a prerequisite, so make sure you’ve taken that first! It covers introductory Git usage which should make you qualified to be a Contributor or Developer if you’re interested in learning.

In this class we create Turtle’s Pizza Shop and use Git to store our pizza recipes in a repository to share with our friends. I think you’ll like it!
RockSteady
https://edu.turtlecoin.lol https://edu.turtlecoin.lol/course/intro-to-git

Image result for the jeffersons moving on up
Congrats to everyone who levelled up this week 😀

Moving Up!

It’s always good to be recognized! These are the people who gained new roles in the community this week!

Footclan – Iburnmycd

Developer – Mufalo

See the source image

Good First Issues

Good First Issues are tickets that are marked as ‘easy wins’ for new developers. If you want to be a TurtleCoin Developer, these are great tasks to start with!

Shoutouts & Thanks

This is the place to mention someone in the community who has done something nice or deserves recognition.

rock – “Such thoughts were noted, tucked away, and you know, forgotten” looool ibmcd

rock – shout out to sisyphus and ibmcd for helping me with the course and quiz content for Intro to Git

Zpalm – Shoutout to fexra for another project started

Japakar is the best in the west of china. – Thanks community and individual members! You all make this place the best!

Categories
Weekly Update

This Week In TurtleCoin (Feb 25, 2019)

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…

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/

credit -> @turtlewayne on instagram

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

Bounty Hunters!

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
https://github.com/turtlecoin/turtlecoin/issues/733

Prune spent inputs after some period of time from WalletBackend
https://github.com/turtlecoin/turtlecoin/issues/708

Add https support to cpp-httplib/nigel
https://github.com/turtlecoin/turtlecoin/issues/713

Support Blockchain cache API in Nigel
https://github.com/turtlecoin/turtlecoin/issues/712

Add a logger to WalletBackend
https://github.com/turtlecoin/turtlecoin/issues/709

Daemon+WalletBackend timestamp adjustments
https://github.com/turtlecoin/turtlecoin/issues/704

Display unlock time / timestamp in list/incoming/outgoing_transfers zedwallet/zedwallet++
https://github.com/turtlecoin/turtlecoin/issues/675

Community Advertising

FlowMine TurtleCoin Pool, from the owner of FlowMine DEGO Pool. Happy mining! 🙂 – http://trtl.pool.flowmine.xyz

New pool from the owner of FlowMine DEGO Pool. Trying to find more users to mine with us. Feel free to come over and dig some TRTL. You can also use our remote node to sync your wallet: trtl.pool.flowmine.xyz:11800

Shoutouts & Thanks

Big thanks to Zpalmtree for the mobile android wallet and the hot patch, I hope you’re sleeping well 😀 – rock

Thanks to whoever spammed the chain so we could get stuff done that we should have done anyway – rock

Thanks to Fipsi for donating his skills toward our project. Same goes to the rest of you. – Mining4Vets

 

Categories
Weekly Update

This Week in TurtleCoin (Nov 12, 2018)

This week was one of the best yet! Between playing the games you guys made with your TurtleCities pages, and ones you wanted to watch on TwitchTurtle, I’m spent! Awesome community participation this week, and we’re really looking forward to next week!

Categories
Weekly Update

This Week In TurtleCoin (Nov 5, 2018)

This week we all became game streamers on Twitch Turtle, and rode our time machines back to the 90’s to see what kind of websites we could build on a floppy! We’re on track to hit 13,000 users in the Discord chat soon, join us! chat.turtlecoin.lol

Developer Community Updates

TwitchTurtle – This week, I tried TwitchTurtle as a streamer. I played ARK Survival for the normal amount of time, and got a few thousand TRTL in tips (if youd like to join Tribe of Turtles, we’re on ragnarok pvp official 61). In all, it was a fun experience. Streamlabs makes it really easy with their own personal spin on OBS, a popular screencaster program we use to capture the screen. I was up and raining in about 6 or 7 minutes. One thing that’s cool is that DSAnon is adding in the messaging functionality for custom tip messages into Shellnet so you dont have to set up box turtle on your own to send a tip with a message via the blockchain. There’s room for improvement, but as a brand new integration, I’d be skeptical if there weren’t any wrinkles to smooth out. Watter has done a great job! Very fun! – Rock

https://twitchturtle.com

TurtleCities – I had been toying with the idea of making some type of user homepages for our regulars in the chat. I was inspired by webrings of homepages on sites like geocities, angelfire, and expages, those types of sites from the 90’s. While I didn’t build an entire frontend for WYSIWYG design, I did create a system that allows me to provision users manually who get a 1.44mb FTP account with no shell access, and a homepage url like https://pages.turtlecoin.lol/~username.  The account gets created manually, and the user uses something like filezilla to connect via FTP and upload up to 1 floppy of web space. I suppose the next step is some type of shell account or BBS. I’d like to make it a paid service so you can get the page for free, and then upgrade to a dual density floppy or add shell access down the road. A lot of it is still up in the air waiting for someone to abuse it. I’d also like to automate account creation, as I’m currently using a google form and webmin. What’s cool is that I built a Bash script that generates the main page every 30 seconds server side and updates a list with a bunch of system specs and links to the latest modified pages. – Rock

https://github.com/turtlecoin/pages.turtlecoin.lol

http://pages.turtlecoin.lol

Swanson Clicker – Now introducing Swanson Clicker! Get addicted to a Clicker Game all over again…Turtle style! Complete with 3 different upgrades and more features to come. – xaz

http://SwansonClicker.com/

TurtlePay™ – I’ve been working the last few weeks hopping between core development and TurtlePay™. Most of my time there has been spent formulating plans including design documents that are in the repo. As always, slow and steady is the name of the game. I’ve published a draft development roadmap for everyone to take a look at. Feel free to ask questions, provide feedback, or help out. TurtlePay™ will hopefully build on the foundation of a lot of the tools I’ve already published. It’s like fitting together a bunch of puzzle pieces that we didn’t even realize were puzzle pieces 🙂 It’s definitely an exciting project and I’m looking forward to what others can build based upon the services the project will offer. – IBurnMyCD

https://github.com/turtlepay

TwitchTurtle – TwitchTurtle is a fast, simple, and secure way to donate to twitch streamers. Over the past weeks, there have been many improvements, such as a docs site at https://docs.twitchturtle.com/ and many improvements to the web dashboard. Adding messages have never been easier with the new Shellnet integration, you can see more at the docs site. Thank you to everyone helping this project live and grow! – Watt3r

https://twitchturtle.com

Krang – Been too busy with work and social the last few weeks. Doing nothing worth mentioning apart from starting mining some Soft-Shell coins and that is looking good, love a good solo mine with no pools, Cant wait to unleash that into the TRTL network. Today I’m working on adding more customization in Terraform and getting back into the groove of things, probably take a look at turtle.services and ibmcd node.js automation. Getting Schwifty. – Slash-atello

https://github.com/4Reallive/krang/tree/Development

Walletgreen / turtle-service rewrite – Good progress this week on the rewrite. I got fusion transactions working, which are essentially a standard transaction, but they have a few rules required to allow them to be zero fee. With some help from iburnmycd I implemented a nice algorithm, which should be able to pick the best inputs to optimize together. Pretty much everything on the backend is complete, minus some rare crashes which I’m still debugging 🙁 I started rewriting zedwallet using the new backend, to help me figure out where stuff is broken or could do with a rework. So far, it’s nearly complete, and has helped me find nearly all the bugs. *Hopefully* we will see it being used in a release after not too long. Since the wallet no longer uses some hacky dispatcher stuff, we can freely do everything on separate threads. With the current implementation, you have to update the wallet sync progress only on the main thread. To work around this, current zedwallet has a pretty ugly method, where it launches a thread to wait for input, and refreshes in the background whilst no input is coming, which is hard to follow, and not very performant. With the rewrite, we just attach to the event handler, and print out the transactions as they come to us, with a simple flag to ensure we’re not printing in the middle of a command, like transferring. Once everything is polished, this will hopefully make it a lot more trivial to add new features to wallets, with a sane, readable backend. I’d love to see some more core contributors – C++ isn’t that scary when you get into it! Oh, forget to mention – scan height works a lot better now – instead of starting at zero, and scanning the blocks below the height ‘quickly’ – it just skips those blocks, and starts right at the height you want to scan from. Still haven’t got around to writing that article on how transactions work… – zpalm

https://github.com/turtlecoin/turtlecoin/tree/walletgreen-rewrite

TurtleStash – WhassupZA has really been championing this project. Currently there’s a few kinks to work out, but you can create wallets with seeds and read transactions as they come in, but there’s a weird timeout issue when you try to send them. This should work itself out soon, and it’s really cool to see the progress. Plenteum and Masari team have done the entire project conversion for TRTL and it’s been great watching things come together. Just a reminder, TurtleStash is a website running the clientless web wallet forked from Masari. This is important because it is a webwallet that allows the user to own their own keys and not depend on a third party to run the software. – rock

http://github.com/turtlecoin/turtlecoin-webwallet-js

Community Bounties

10,000 TRTL – create a Rastafari emoji and or graphical art – GiGaUrtle

20,000 TRTL – TRTL Meme that shows TRTL as the main currency in the future – wichtigwicht 🇩🇪

75,000 TRTL – I need a quick site done up with a simple (very simple) shopping cart interface that does the following: 1) guest selects “purchase access” 2) guest is given an address and payment ID to send the amount of TRTL to 3) once TRTL is received, guest is granted the ability to download a file up to 5 times. 4) upon limit reached, access to file is denied. Bonus bounty: +25K TRTL if TRTL.Services is used. Project will be used to host a TRTL blockchain bootstrap. – IBurnMyCd

Fork Watch!

Name of your TRTL forkGrubMine
Github link for your code: https://github.com/Franzferdinan51/GrubMine
What is special or new about your network?
To help us spread knowledge and understanding of blockchain technology via our diverse products

Community Advertising

  • High Availability, stupid friendly, and cheap mining pools. Hosted in the middle of ‘Murica so you can expect the most excellent of pings from anywhere in the US. We also have a active vibrant discord community, who is quick to answer any questions you have. So jump off that mega pool and join something smaller, and something with Llamas. I’m Mr. Horse and I approve this message. Paid for my Mr. Horse for Congress. http://trtl.llama.horse
  • play a quick game o’ skribbl https://skribbl.io/?rOlUyY6dxv
  • 0 fee public nodes: greywolf Germany @ turtlenode.co:11898 & greywolf London @ turtlenode.me:11898

Shoutouts & Thanks

rogerrobers – Shout out billiontrtlhomepage.lima-city.de

ChiefCoin – Shoutout for all Twitter Turtles spreading Turtle Love out there ✌

greywolf³˜ – thanks to labaylabay for the reach-out … a good role model for https://medium.com/@turtlecoin/how-to-be-a-good-turtle-20a427028a18

. – I remember you canti 😘

@Knomore – Llama.Horse – Shout out to the devs for this update that removed old outdated nodes from the network. I feels like our nodes are having less issues and connect to less garbage peers now. Sweet hookup fellas!

Rogerrobers – Shout out to pages.turtlecoin.lol !! Thanks rock 🙂

greywolf³˜ – thanks to iburnmycd for the TurtleCoin-HA update, nodes are running fine now

JerMeeeeeeee – Shout out to the soft shell crew, get those CPUs cooking!!!

JerMe404 – Thanks AFDI for keeping everyone going while discord image upload was broken!

Slash-atello – SHOUTS to wichtigwicht 🇩🇪 who started running meme competitions. It’s hard to manage that along with everything else, although it is sorely needed. Encourage everyone not coding to give it a shot. Your chance to shape the community.