Categories
Weekly Update

This Week In TurtleCoin (June 9, 2020)

This week we saw lots of new faces in the chat and many new users asking all the great questions new users ask, and as a bonus, diff has gone back to a sensible level. All in all, a good week!

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.

Brand Updates

There have been a few changes made to the TurtleCoin® branding over the last few months and we felt the need to summarize a few of the high points as we’re very proud of these changes.

Branding Guide

The branding guide for TurtleCoin received a refresh a few months ago. It contains updated guidelines on how to properly reference the registered Trademark, proper use of logos or symbols, the wordmark, as well as font selections and the new color scheme (don’t worry, the green isn’t going anywhere).

https://github.com/turtlecoin/brand/blob/master/TurtleCoin%20Brand%20Guide%202020-2021.pdf

Presentation Slide Templates

Rock also took the time to create a slick new set of presentation slide templates that anyone can use when presenting on TurtleCoin topics, technologies, or general promotions. These templates present a crisp, clean, and consistent message to those we wish to introduce to various TurtleCoin topics.

https://github.com/turtlecoin/brand/blob/master/TurtleCoin%20Slides%202020-2021.pdf

Website

For those of you who haven’t noticed, the official website at https://turtlecoin.lol also received a much needed facelift. Rock, @mrrovot, and a few others contributed to the new simplier design that follows the new guidelines. We’ll be working on updating a few other core maintained site(s) to reflect the new look and feel across the board.

https://turtlecoin.lol

TurtleCoin.com

Those of you that frequent the chat have likely seen a few interactions that haven’t always ended very… well between a few community members and uaoverall. uaoverall allegedly secured the domain name turtlecoin.com almost two years ago by purchasing it from a domain name squatter for much more than the fair market rates that a registrar like NameCheap charges.

Since then, he’s forwarded turtlecoin.com to turtlecoin.lol in the hopes that one day the official project site would be migrated from turtlecoin.lol to turtlecoin.com. Unfortunately, without getting into the details, every time discussion came up, things always ended up very heated. Suffice it to say, the topic coming up every few months the past two years starts to grind a little bit (on both sides).

With this in mind, IBurnMyCd stepped up to the plate and worked out a deal with uaoverall to transfer the ownership of the domain to the same organization that holds the Trademark.

The most interesting part of all of this is that this very well might be the very first actual contract paid entirely in TurtleCoin. While the details of the contract aren’t being shared (to protect both parties), it’s very cool whenever TurtleCoin is used for a real-world transaction.

With this deal, the team is happy to report that the turtlecoin.com domain name is now securely in a member of Core’s hands. For now, the domain is retaining its forwarding role to turtlecoin.lol until such a time that the community may decide that switching from turtlecoin.lol to turtlecoin.com makes sense.

Thankfully, we can now put this issue to rest and leave it well behind us as the community moves forward with everything everyone is doing to make TurtleCoin the go to network for fast, safe, and fun transactions.

Karai Updates

This week I did a significant amount of work getting the channel joining process working, and we had our first connection to a karai transaction channel on a remote network 🙂 Since then, a few users seem to have forked the software and have pinged the stagenet a few times. It is definitely interesting to see.

The work done regarding connecting to channels is the process that is outlined in IBMCDs hackmd diagram for building a cert authority.

https://hackmd.io/@ZL2uKk4cThC4TG0z7Wu7sg/H1Ubn6d9L

Here is a link to the rough layout of what we are doing, it is a large diagram showing the process that takes place when a node is connecting to a karai transaction channel. In short a websocket connection is made to the channel coordinator, if it is your first time joining the channel, your client will generate new keys via ed25519 and do an exchange and signing process with the channel coordinator. If your certificate is good, you will be allowed to connect.

Here is a summary of the steps for connecting to channels with an indicator of what is done so far, which is about half way, with most of the difficult stuff done.

// [✔️] Coord: Generates Secret Key (CA:SK)and Public Key (CA:PK)
// [✔️] Coord: Signs CA:PK with CA:SK(CA:S)
// [❌] Coord: Publishes CA:S & CA:PK in pointer record
// [✔️] Node: Generates Secret Key (N1:SK) and Public Key(N1:PK)
// [✔️] Node: Initial Connection Sends N1:PK to Coord
// [✔️] Coord: Signs N1:PK with CA:SK (N1:S)
// [❌] Coord: Sends CA:N1:S to Node
// [ ] Node: Verifies N1:S using known CA:PK from pointer (Good Coordinator)
// [ ] Node: Signs N1:PK with N1:SK (N1:S)
// [ ] Node: Sends N1:S to Coord
// [ ] Coord: Hashes (N1:S) and signs with CA:SK Node1 Cert (N1:C)
// [ ] Coord: Sends N1:C to Node
// [ ] Node: Requests Cert Revocation List
// [ ] Coord: Sends CRL to Node

When I finish with this, I will be adding a new transaction type, Join Transactions which allow a channel to track and announce new peers joining the swarm. This will help shorten the already short amount of time to sync your history when reconnecting to a channel.

Some things coming after that are:
– subgraph construction
– graph explorer
– libraries for go and js clients

TRTLNIC

Now that we’ve had a steady run of OpenNIC Tier-2 servers running for well over 6 months, it’s time to put on our big boy pants and actually apply to OpenNIC to accept .trtl domains everywhere. To do so though, we need to graduate from the github based DNS management to something more… automated.

I’ve been working the last few days to continue work I was doing on building a nifty REST API that can be used to register, manage, and perform basic functions with .trtl domains. Think of it like… like… your favorite unnamed registrars. This will make maintaining the system of .trtl domains a lot easier, have built in payment support using TurtlePay, live updates, basic managed DNS for the domains, and a few other cool features I’m baking in. No, I haven’t published any of the code yet, but I’m working to assemble it as quickly as possible. Most of the difficult stuff is done so at this point, there’s very little to do except put together the actual web interface that talks to the API. Hopefully I’ll have more news to post on this in the next few days/weeks.”

IBMCD & Frens

https://trtlnic.com

Moving Up!

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

Moving down in this case! We removed the Ninja role, which was basically just me on there most of the time anyway. It felt counterproductive to have the highest rank be the most inactive so we removed it to get closer to the purple guys 🙂

We also created a moderator role for the possible impending changes to the market talk rules.

Free Advertising

This is a spot to spam anything TurtleCoin related that you would like to advertise, it’s free to put an ad in the roundup.

Mine on MuxDux, the pool with the grassiest roots around!https://trtl.muxdux.com
Important Public Service Announcement for TipBot This message goes out to every single one of you in our cryptocurrency Discord servers to raise awareness about the one and only TipBot we have all come to know and love. Did you know that you can get an invite link to invite TipBot to a new server by direct messaging the bot with the command ‘.invite’? You can also write the message ‘.invite’ in the bots channel to get a link there. We are calling out for everybody’s help with doing this so that we can see the TipBot’s usage explode to new heights globally. All we really need you to do is invite the TipBot to other discord servers that it is not yet in so that we can continue to teach people around the world that cryptocurrency transacting can be quick, easy, and user-friendly. This TipBot allows you to send crypto coins to anyone on Discord, 24/7, with no fee due to the utilization of off-chain tipping. The TipBot also includes a built-in faucet feature that is an engaging way for getting newbies started with learning how to navigate the bot’s system and giving them possibly their first ever crypto coins to mess around with. This faucet operates by the user command ‘.take’ and when utilized it gives out a small stack of a random coin absolutely free (one of WRKZ, DEGO, BTCMZ, TRTL, and DOGE respectively). This command is currently able to be used once every 24 hours. On the flip side, if you’re feeling generous you can tip the TipBot directly with one of those coins and it will be added into the faucet’s stockpile. In the same giving spirit, you can also directly donate any of the supported cryptocurrencies directly to the TipBot’s open source developer (@pluton#8888 on discord [id: 386761001808166912]) using command ‘.donate’ to help keep the bot up and running for the long run. Pluton says that ultimately his main goal is to spread awareness of cryptocurrency through tips and get more people from all over the world involved. As always you can type command ‘.help’ to see a full list of all the command prompts provided by this impressive bot! Thanks for reading our special announcement and don’t forget to invite!! Current TipBot Stats as of June 7th 2020 Discord Servers Currently in: 159 Total Users Online: 22,773 Total Unique Users: 175,907 Total Discord Channels Spanned: 6,239 Documentation: https://github.com/wrkzcoin/TipBot TipBot Video Tutorial: https://www.youtube.com/watch?v=Htg6HKLmPZ0 Discord TipBot Verification Explained: https://support.discord.com/hc/en-us/articles/360040720412-Bot-Verification-and-Data-Whitelisting
AARDVARK node, purveyor of the highest quality wallet sync and transaction services. Connect to sync.tippyturtle.com:11898 from CLI or GUI.sync.tippyturtle.com:11898

Shoutouts & Thanks

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

zerouani would like to thank rock for unleash zerouannita
zerouani would like to thank brat for having improved audio at karaoke and i would also like to thank lilly meraviglia for the support she bring us everyday in the chat
rockthanks to brat and zerouan for keeping karaoke going all night while we code 🙂

TRTL Dev Afterhours

The afterhours section is a new column we are trying out that aggregates all of the links from #Dev_OffTopic for the week so we can share them with you guys.

https://www.kernel.org/doc/html/latest/driver-api/fpga/index.html
Submitted by ExtraHash on Sun, 17 May 2020 20:54:59 GMT
The Cyber Security Hub™ posted on LinkedIn
May 17, 2020: The Cyber Security Hub™ posted on LinkedIn
https://www.linkedin.com/posts/the-cyber-security-hub_activity-6667850684374876160-X3xJ
Submitted by iburnmycd on Sun, 17 May 2020 21:37:51 GMT
Openrouteservice Maps
Openrouteservice is a open source route planner with plenty of features for car, heavy vehicles, hiking and cycling.
https://maps.openrouteservice.org
Submitted by RockSteady (TRTL) on Wed, 20 May 2020 13:48:01 GMT
The Rogue Experimenters | The New Yorker
Community labs want to make everything from insulin to prostheses. Will traditional scientists accept their efforts?

https://www.newyorker.com/magazine/2020/05/25/the-rogue-experimenters
Submitted by RockSteady (TRTL) on Wed, 20 May 2020 15:22:54 GMT
Gemini Gateway
https://portal.mozz.us/gemini/gemini.circumlunar.space/
Submitted by RockSteady (TRTL) on Fri, 22 May 2020 00:57:39 GMT
tildeverse
https://tildeverse.org/
Submitted by RockSteady (TRTL) on Fri, 22 May 2020 05:03:40 GMT
GitHub – cris691/discohash: Discohash – A super fast and simple hash. 5GB/s serial (depending on hardware).
:dancers: Discohash – A super fast and simple hash. 5GB/s serial (depending on hardware). – cris691/discohash
https://github.com/cris691/discohash
Submitted by RockSteady (TRTL) on Sat, 23 May 2020 16:12:03 GMT
GitHub – tevador/hashx: A family of pseudorandomly generated hash functions for proof-of-work and client puzzles
A family of pseudorandomly generated hash functions for proof-of-work and client puzzles – tevador/hashx
https://github.com/tevador/hashx
Submitted by cryptonote.social on Sat, 23 May 2020 18:44:45 GMT
To merge or not to merge [part 2] · Issue #27 · wownero/meta · GitHub
The last time we had a discussion about merge mining, the general consensus was to push the envelope by adopting RandomJS
(RandomX) early in order to serve as an interesting test-bed for Monero. We forked to RandomWOW on 2019-06-14 befor…
https://github.com/wownero/meta/issues/27#issuecomment-633108497
Submitted by cryptonote.social on Sat, 23 May 2020 18:45:30 GMT
ed25519 – The Go Programming Language
Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.
https://golang.org/pkg/crypto/ed25519/
Submitted by RockSteady (TRTL) on Sun, 24 May 2020 02:21:21 GMT
GitHub – google/tink: Tink is a multi-language, cross-platform, open source library that provides cryptographic APIs that are secure, easy to use correctly, and hard(er) to misuse.
Tink is a multi-language, cross-platform, open source library that provides cryptographic APIs that are secure, easy to use correctly, and hard(er) to misuse. – google/tink
https://github.com/google/tink
Submitted by RockSteady (TRTL) on Sun, 24 May 2020 02:38:19 GMT
GitHub – k0kubun/pp: Colored pretty printer for Go language
Colored pretty printer for Go language. Contribute to k0kubun/pp development by creating an account on GitHub.

https://github.com/k0kubun/pp
Submitted by RockSteady (TRTL) on Sun, 24 May 2020 02:48:38 GMT
GitHub – myspaghetti/macos-virtualbox: Push-button installer of macOS Catalina, Mojave, and High Sierra guests in Virtualbox for Windows, Linux, and macOS
Push-button installer of macOS Catalina, Mojave, and High Sierra guests in Virtualbox for Windows, Linux, and macOS – myspaghetti/macos-virtualbox

https://github.com/myspaghetti/macos-virtualbox
Submitted by RockSteady (TRTL) on Sun, 24 May 2020 11:44:22 GMT
TurtleCoin IPFS Checkpoints
http://ns1.turtlecoin.lol/ipfs
Submitted by RockSteady (TRTL) on Tue, 26 May 2020 16:49:36 GMT

https://youtu.be/PF3gzLssFzk
Submitted by RockSteady (TRTL) on Fri, 29 May 2020 16:24:04 GMT
GopherCon 2016: Rob Pike – The Design of the Go Assembler – YouTube

https://youtu.be/KINIAgRpkDA
Submitted by RockSteady (TRTL) on Sun, 31 May 2020 18:29:11 GMT
80-characters-per-line limits should be terminal, says Linux kernel chief Linus Torvalds • The Register
As he gives us version 5.7 with support for Apple power tech and better exFAT
https://www.theregister.com/AMP/2020/06/01/linux_5_7/
Submitted by zpalmtree on Mon, 01 Jun 2020 15:33:46 GMT
Knex cheatsheet
One-page guide to Knex: usage, examples, and more. Knex is an SQL query builder for Node.js.This guide targets v0.13.0.
https://devhints.io/knex
Submitted by zpalmtree on Thu, 04 Jun 2020 21:15:58 GMT
LackRack – Eth0Wiki
https://wiki.eth0.nl/index.php/LackRack
Submitted by ExtraHash on Fri, 05 Jun 2020 17:14:57 GMT
Permanent SSH Tunnels with autossh | Linuxaria
Article by Truelite.it already published on their useful wiki (in Italian) There are many occasions where you need to create connections to machines and services that are protected by firewalls because it is appropriate to adequately protect them, but for which the creation of a VPN becomes an excessive burden. For
https://linuxaria.com/howto/permanent-ssh-tunnels-with-autossh
Submitted by ExtraHash on Sat, 06 Jun 2020 01:05:37 GMT
Welcome – File Browser
https://filebrowser.xyz/
Submitted by ExtraHash on Sun, 07 Jun 2020 04:48:45 GMT
https://crypto.stanford.edu/craig/craig-thesis.pdf
Submitted by if(true) on Mon, 08 Jun 2020 11:37:27 GMT
Haiku R1/beta2 has been released!
https://www.haiku-os.org/news/2020-06-09_haiku_r1_beta2/
Submitted by RockSteady (TRTL) on Tue, 09 Jun 2020 22:19:55 GMT
You looked. There is no sense in denying it. You looked.
Categories
All

This Week In TurtleCoin (May 26, 2020)

This week we are showing our appreciation for open source projects by giving away free .trtl domains from dns.turtlecoin.lol

You looked

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. To submit your post, click this link https://docs.google.com/forms/d/e/1FAIpQLSdTs4nDSKai2fPpCnuT0WXzutCuJQk7nFlFqYCgmBlz4DEM7Q/viewform

Karai docs

This week I whipped up a site to begin documenting the emerging karai API methods. I’m using swagger for the documentation, which has a pretty handy feature to try out the API right from your web browser.

This will help developers get started building applications using karai. I believe Extra’s block explorer will be using it shortly to supply a health check for coordinators registered in karai pointers.

Right now, the repo is just on my GitHub, but I’ll move it to the TurtleCoin GitHub when I’ve cleaned the code up a little bit.”

Zpalm

https://zpalmtree.github.io/karai-docs/

https://github.com/zpalmtree/karai-docs

TRTLNIC

Now that we’ve had a steady run of OpenNIC Tier-2 servers running for well over 6 months, it’s time to put on our big boy pants and actually apply to OpenNIC to accept .trtl domains everywhere. To do so though, we need to graduate from the github based DNS management to something more… automated.

I’ve been working the last few days to continue work I was doing on building a nifty REST API that can be used to register, manage, and perform basic functions with .trtl domains. Think of it like… like… your favorite unnamed registrars. This will make maintaining the system of .trtl domains a lot easier, have built in payment support using TurtlePay, live updates, basic managed DNS for the domains, and a few other cool features I’m baking in. No, I haven’t published any of the code yet, but I’m working to assemble it as quickly as possible. Most of the difficult stuff is done so at this point, there’s very little to do except put together the actual web interface that talks to the API. Hopefully I’ll have more news to post on this in the next few days/weeks.

IBMCD & Frens

https://trtlnic.com

Free Advertising

This is a spot to spam anything TurtleCoin related that you would like to advertise, it’s free to put an ad in the roundup.

Use remote node – blockcache version: trtl.bot.tips:80 and trtl.bot.tips:443 to support discord TipBot.https://trtl.bot.tips/fee

Shoutouts & Thanks

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

zerouani would like to thank rock for unleash zerouannita
zerouani would like to thank brat for having improved audio at karaoke and i would also like to thank lilly meraviglia for the support she bring us everyday in the chat

TRTL Dev Afterhours

The afterhours section is a new column we are trying out that aggregates all of the links from #Dev_OffTopic for the week so we can share them with you guys.

https://www.kernel.org/doc/html/latest/driver-api/fpga/index.html’
Submitted by ExtraHash on Sun, 17 May 2020 20:54:59 GMT
Lemon Party – A game of bingo gone horribly wrong
A famous website referenced in popular culture on TV and by celebrities
http://lemonparty.org
Submitted by Crappyrules Ⓤ on Sun, 17 May 2020 20:59:59 GMT
The Cyber Security Hub™ posted on LinkedIn
May 17, 2020: The Cyber Security Hub™ posted on LinkedIn
https://www.linkedin.com/posts/the-cyber-security-hub_activity-6667850684374876160-X3xJ
Submitted by iburnmycd on Sun, 17 May 2020 21:37:51 GMT
Openrouteservice Maps
Openrouteservice is a open source route planner with plenty of features for car, heavy vehicles, hiking and cycling.
https://maps.openrouteservice.org
Submitted by RockSteady (TRTL) on Wed, 20 May 2020 13:48:01 GMT
The Rogue Experimenters | The New Yorker
Community labs want to make everything from insulin to prostheses. Will traditional scientists accept their efforts?
https://www.newyorker.com/magazine/2020/05/25/the-rogue-experimenters
Submitted by RockSteady (TRTL) on Wed, 20 May 2020 15:22:54 GMT
Gemini Gateway
https://portal.mozz.us/gemini/gemini.circumlunar.space/
Submitted by RockSteady (TRTL) on Fri, 22 May 2020 00:57:39 GMT
tildeverse
https://tildeverse.org/
Submitted by RockSteady (TRTL) on Fri, 22 May 2020 05:03:40 GMT
GitHub – cris691/discohash: Discohash – A super fast and simple hash. 5GB/s serial (depending on hardware).
:dancers: Discohash – A super fast and simple hash. 5GB/s serial (depending on hardware). – cris691/discohash
https://github.com/cris691/discohash
Submitted by RockSteady (TRTL) on Sat, 23 May 2020 16:12:03 GMT
GitHub – tevador/hashx: A family of pseudorandomly generated hash functions for proof-of-work and client puzzles
A family of pseudorandomly generated hash functions for proof-of-work and client puzzles – tevador/hashx
https://github.com/tevador/hashx
Submitted by cryptonote.social on Sat, 23 May 2020 18:44:45 GMT
To merge or not to merge [part 2] · Issue #27 · wownero/meta · GitHub
The last time we had a discussion about merge mining, the general consensus was to push the envelope by adopting RandomJS (RandomX) early in order to serve as an interesting test-bed for Monero. We forked to RandomWOW on 2019-06-14 befor…
https://github.com/wownero/meta/issues/27#issuecomment-633108497
Submitted by cryptonote.social on Sat, 23 May 2020 18:45:30 GMT
ed25519 – The Go Programming Language
Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.
https://golang.org/pkg/crypto/ed25519/
Submitted by RockSteady (TRTL) on Sun, 24 May 2020 02:21:21 GMT
GitHub – google/tink: Tink is a multi-language, cross-platform, open source library that provides cryptographic APIs that are secure, easy to use correctly, and hard(er) to misuse.
Tink is a multi-language, cross-platform, open source library that provides cryptographic APIs that are secure, easy to use correctly, and hard(er) to misuse. – google/tink
https://github.com/google/tink
Submitted by RockSteady (TRTL) on Sun, 24 May 2020 02:38:19 GMT
GitHub – k0kubun/pp: Colored pretty printer for Go language
Colored pretty printer for Go language. Contribute to k0kubun/pp development by creating an account on GitHub.
https://github.com/k0kubun/pp
Submitted by RockSteady (TRTL) on Sun, 24 May 2020 02:48:38 GMT
GitHub – myspaghetti/macos-virtualbox: Push-button installer of macOS Catalina, Mojave, and High Sierra guests in Virtualbox for Windows, Linux, and macOS
Push-button installer of macOS Catalina, Mojave, and High Sierra guests in Virtualbox for Windows, Linux, and macOS – myspaghetti/macos-virtualbox
https://github.com/myspaghetti/macos-virtualbox
Submitted by RockSteady (TRTL) on Sun, 24 May 2020 11:44:22 GMT
Categories
Weekly Update

This Week In TurtleCoin (May 19, 2020)

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. To submit your post, click this link

The New TRTL Website & Translations

The initiative to get our new website up and moving is heating up and we’re getting a lot of translations submitted. Mrrovot has been leading the charge with a lot of work put in so far on a cool way to integrate some type of language toggle to the website so that international users can browse in their own language.

We’re not quite there yet, I think there’s some right-to-left stuff in the works that was mentioned, but don’t quote me on that. Just wanted you guys to know that we’re working on it and will have it out soon with our new brand package etc.

Rock

https://github.com/turtlecoin/trtl2020

trtl.profl.io

A few weeks ago, I launched a Turtlecoin node at trtl.profl.io (which is actually just an nginx proxy server pointing to the actual node, which is sitting on my desk as I write this). All was fine and dandy, except that the SSD in it was only 250 gigabytes; more than sufficient for the TRTL blockchain, but only barely enough to hold all the other things I use this server for. Luckily, I had a few extra 256 gigabyte drives lying around, one of which was solid state, and upon opening up the mini-PC I discovered an open SATA connector, power and all. After reformatting it, mounting it, cp’ing the blockchain over, adjusting my daemon config, and finally some finagling with /etc/fstab, I had everything working. It’s a huge relief to have freed up all that space on the original SSD, and as a bonus, this new drive is much more portable if I ever want to migrate the node elsewhere.

Oh, and my home network now has far more bandwidth and almost flawless uptime, so there should be no issues there either anymore.

Professor L

trtl.profl.io

Karai Updates

I find myself holding back some times on putting all of the week’s karai stuff in the roundup because it can easily dominate the main conversation. Let’s hit some quick bullet points to get you guys caught up on what we’re doing here:

I promise we’re not in the illuminati
  • karai dev blog is up @ karai.io/dev – starting out with an article about designing the channel connection process, which has been a big part of what I’ve been working on lately. Check it out https://karai.io/dev/k/2020-05-14-Designing-the-channel-connection-process.html
  • p2p is getting an update – I was talking some trash with the nerds at the water cooler and we came to the conclusion that in the beginning it makes more sense to use a custom p2p solution for the karai p2p stack. Some things that are nice to have will be added later, but with some best-practice principles in mind, we can do fine with a bespoke solution for preliminary implementations and talk about using a third party library when we need to do more complicated things like NAT traversal.
  • client header – The client header was created this week for the go-karai client. The client header is like a user agent string from a browser, which helps the application deliver a more tailored experience. In our case it helps the channel connection process by sending the channel coordinator client info of a peer wishing to join the channel.
  • join tx type – A new transaction type is being evaluated. The ‘join’ transaction would be a non-linked transaction that has no related subgraphs that consists of the initial peer announcement of a peer coming online. I’m about 50/50 on this, I’ll be honest. It makes the connect process convenient but i have this subconscious bias to think announce is something that belongs in p2p even though its their for sync purposes. The purpose of the join tx type is to allow you to ‘mark’ your entry to a channel to avoid looking at anything before that, which speeds up the already-fast sync process.

Free Advertising

This is a spot to spam anything TurtleCoin related that you would like to advertise, it’s free to put an ad in the roundup.

Sync faster with bootstrap powered by bot.tips. Bootstrap data is regularly updated.https://trtl-data-dir.bot.tips
Use remote node – blockcache version: trtl.bot.tips:80 and trtl.bot.tips:443 to support discord TipBot.https://trtl.bot.tips/fee

Shoutouts & Thanks

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

dsanonshout out to rock for all the hard work on karai! :DD
thanks ds 🙂

TRTL Dev Afterhours

The afterhours section is a new column we are trying out that aggregates all of the links from #Dev_OffTopic for the week so we can share them with you guys.

this wordpress theme wont let be add the damn links.
  • “Ethereum (ETH) Co-Founder Announces 1,000,000 Tx/s Network: Details
    The Polkadot (DOT) cross-chain sharded protocol is among the most technically advanced projects of the whole blockchain industry. Now its mainnet is anticipated even more
    https://u.today/ethereum-eth-co-founder-announces-1000000-txs-network-details
    Submitted by rashedmyt on Sun, 03 May 2020 06:13:48 GMT”
  • “RC4 – Wikipedia
    https://en.wikipedia.org/wiki/RC4
    Submitted by Professor L on Sun, 03 May 2020 12:40:35 GMT”
    “Variably Modified Permutation Composition – Wikipedia
    https://en.wikipedia.org/wiki/Variably_Modified_Permutation_Composition
    Submitted by Professor L on Sun, 03 May 2020 12:41:15 GMT”
  • “vmpc_c/vmpc.c at master · bartek96/vmpc_c · GitHub
    Implementation VMPC stream symmetric cipher in C. Contribute to bartek96/vmpc_c development by creating an account on GitHub.
    https://github.com/bartek96/vmpc_c/blob/master/vmpc.c
    Submitted by Professor L on Sun, 03 May 2020 12:42:02 GMT”
  • “Codespaces · GitHub
    Your instant dev environment
    https://github.com/features/codespaces
    Submitted by RockSteady (TRTL) on Thu, 07 May 2020 01:41:57 GMT”
  • “Using Ed25519 signing keys for encryption
    @Benjojo12 and I are building an encryption tool that will support SSH keys as recipients. For Ed25519 keys that requires converting points between different elliptic curves. Let’s see why and how.
    https://blog.filippo.io/using-ed25519-keys-for-encryption/
    Submitted by RockSteady (TRTL) on Thu, 07 May 2020 15:50:27 GMT”
  • “Finding Ticketbleed
    Ticketbleed (CVE-2016-9244) is a software vulnerability in the TLS stack of certain F5 products that allows a remote attacker to extract up to 31 bytes of uninitialized memory at a time, which can contain any kind of random sensitive information, like in Heartbleed. If you suspect you might be affected
    https://blog.filippo.io/finding-ticketbleed/
    Submitted by rashedmyt on Thu, 07 May 2020 16:32:05 GMT”
  • “my_first_calculator.py/my_first_calculator.py at master · AceLewis/my_first_calculator.py · GitHub
    my_first_calculator.py. Contribute to AceLewis/my_first_calculator.py development by creating an account on GitHub.
    https://github.com/AceLewis/my_first_calculator.py/blob/master/my_first_calculator.py
    Submitted by Turtle Max on Sun, 10 May 2020 00:40:14 GMT”
  • “Getting Started With Xmonad – YouTube
    In this rather lengthy video, I go over the basics of getting started with Xmonad. I install Xmonad on Ubuntu 20.04 and show some of the basics as far as con…
    https://www.youtube.com/watch?v=3noK4GTmyMw
    Submitted by RockSteady (TRTL) on Fri, 15 May 2020 19:21:58 GMT”
  • “FPGA Subsystem — The Linux Kernel documentation
    https://www.kernel.org/doc/html/latest/driver-api/fpga/index.html
    Submitted by RockSteady (TRTL) on Sun, 17 May 2020 03:24:47 GMT”

There’s a lot more than this, but it didn’t seem right to paste the entire link history of a chat room we’ve had for over a month 🙂 If you want to check out the other things that have been posted here or just BS with us, check out chat.turtlecoin.lol

Thanks for reading 🙂
Categories
Weekly Update

This Week In TurtleCoin (May 13, 2020)

This week we got a lot of new community members, as well as a lot of returning faces, which is always a treat! Some of you even contributed translations for the new website.

Welcome to all of you just joining us and those returning, we hope you tell a friend 🙂

https://chat.turtlecoin.lol

Pictured above: Fexra returning from a busy shift at the TurtleWallet datacenter. Fun fact, this is also where the Myspace servers are kept to this day.

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.

Bobberino and the struggles with github builds

Only while typing in this caption box do I realize how badly I messed up the alignment on old Bob there.

How do I say this delicately… While we are very thankful for Github for providing this free service, we’ve reached some quirky limitations of the service across a few projects. To sum it up, Github Actions has about a 1 in 6 chance of just outright refusing your trivial non-breaking changes and not building an otherwise fine Golang project.

This exact issue happened to me in fact and I got frustrated, I’ll admit. All I wanted was some cross platform binaries for Windows, Mac, and Linux. That’s all I wanted, nobody gets hurt..

I guess in a fit of impatience I realized it doesnt have to be that hard, and discovering the command to list all of the different OS’s and architectures I could compile for just on my own, the path forward to easy cross platform binaries became clear.

Bobberino is a tool that for legal reasons I couldn’t call ‘Bob The Builder’, so I gave him a different name with similar role. If you want to use it, you install Bobberino, then call him up inside of any Go project and he’ll generate your binaries and zip them up in a folder inside of ` ./builds/<os>/<cpu>` for anything from Android to Windows to Plan9 and OpenBSD. Bobberino even builds his own binaries!

I know there’s probably 2 people out there who use Golang, and you probably have a much cooler solution so by all means ping me about what would make it a good tool for you so that we can share it with more than just those who wish to compile Karai. Thanks 🙂

For the rest of you, enjoy all the sweeeeet sweeet binaries to choose from 🙂

Rock

https://github.com/karai/bobberino

TurtlePay Blockchain Cache

About a week ago, Extra and I struck a deal that if I altered the blockchain cache started returning rawblocks for syncing, that he’d volunteer 2 hours a week for 8 weeks at a nursing home to get to know some random elders and learn from them (after the COVID-19 stuff passes).

Keeping up with my side of the bargain, I’ve been exploring different ways to store the blockchain data in a traditional database again. This includes restructuring the database schema, playing with different database systems, and thinking about where I can push some of the load off the API and database itself and push some of the heavy lifting elsewhere.

To get ready for some of that, I’ve laid the foundation by putting together a database abstraction layer that ultimately allows for swapping the backend database for the cache using a variety of different database systems. Right now, I’ve baked in support for MySQL/MariaDB, Postgres (and any of it’s derivatives), CockroachDB, Yugabyte, SQLite, and may tackle a few others.

My expectation is that that by refactoring, rewriting, and redefining the schema, I’ll be able to upgrade the cache software to make it better, faster, stronger, and more resilient. I believe I’ll also be able to make it a lot easier to scale the software and, at least for my deployment of it (the TurtlePay copy), deploy it in a more geographically friendly way that brings a lot of the data closer to the masses. These changes, among others, will help the cache respond a lot faster to everyone overall.

IBMCD

Aardvark TurtleCoin Node

Aardvark is a public node running on bare metal with 32GB RAM, dedicated SSD storage, and RGB lighting which looks really nice at night. You can use it to sync your wallet and make anonymous transactions on the TurtleCoin network. 19morpheus80 on GitHub

http://sync.tippyturtle.com

Rig Of The Week

Do you have a TRTL mining rig you want to show off? Tell us about it!

Related image
Above: The workers at Herominers busy not-spreading the hashrate.

Free Advertising

This is a spot to spam anything TurtleCoin related that you would like to advertise, it’s free to put an ad in the roundup.

“For the record I’ve been using Aardvark TurtleCoin Node for 35 years and it’s never let me down. “

Rusty Turtleford , Senior Citizen

Shoutouts & Thanks

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

anon – Shouts out to the lads who died in the struggle

Categories
Weekly Update

This Week In TurtleCoin (May 6, 2020)

stare bear is the hottest new emoji for 2020, check it out in TRTL server with :stare_bear:

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.

trtl-py

trtl-py is a Python Wrapper for the JSON RPC interface of TurtleCoind and Wallet-API. It has recently been updated and version 0.0.2 has been pushed to PyPI. Now, you cab specify a timeout for connection to the host while instantiating the class (default is 5). Also, there a brand new Utils class which has many functions to ease your life while making an application. I hope you’ll like the updates. 🙂

sohamb03(#0001)

https://trtl-py.sohamb03.me

https://github.com/sohamb03/trtl-py

https://pypi.org/project/trtl

Karai Wiki

We were beginning to accumulate a lot of “here’s how X works” in the chat, and I didn’t want to let those bits of information to get buried. Wanting to try out the wiki feature of Github for its simplicity, I took the notes on the schema for the different transaction type construction methods and wrote explainers for each field which made a few different documents describing how Karai transactions are constructed. It was surprisingly easy to get the content up with just a little bit of markdown.

If you’d like to check it out, I’ve included descriptions of the root transaction, milestone transactions, subgraph-tip transactions, and normal transactions.

RockSteady

https://github.com/turtlecoin/go-karai/wiki

TurtleEDU Is Getting A New Class!

It’s probably not as exciting as some of you may think, but a question that comes up a lot when a new developer is making a project. “What should my license be for this thing?”. IBMCD and I are working on a class to explain all of the open source licenses and turn you into a licensing ninja for your next project. Stay tuned!

RockSteady

https://edu.turtlecoin.lol

This week we made sacrifices to the TRTL gods for good kick flips and solid memes

Bounty Up For Grabs!

250A bounty to help with the Turtle 2020 Website translation to pt-br.D4rkGh0st

Moving Up!

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

Service Operator – Professor L

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!

Raise a warning if the daemon can’t parse a config file #1058 https://github.com/turtlecoin/turtlecoin/issues/1058

Rig Of The Week

Do you have a TRTL mining rig you want to show off? Tell us about it!

This week’s miner of the week is Greywolf!

About this rig: rig2 was the second rig i put together, probably around early summer of 2018. it sets inside a Crappyrules Ⓤ approved frame, made of 1/2 inch aluminum angle bar and self-tapping screws. there are wood slats on the bottom that support the power supply and the motherboard, which is propped up by standoffs. the motherboard is a GIGABYTE GA-AX370-Gaming, with 2 full sized pci-e slots (a x16 and a x4), and 8GB of RAM. an on/off button and a normal cheap $2 pc speaker are plugged into the mainboard. i like to hear the beep as it boots; plus on rare occasions when Windows reboots ignoring my settings, i can hear it from the other room, and am able to restart my miners faster. the on/off switch is because i don’t have the balls to repeatedly use a screwdriver across 2 pins on the motherboard. the cpu is an AMD Ryzen 7 1700X 8 core (16 threads). there are two gpu’s, both NVIDIA GTX 1070. card-mounted fans that are the width of 1/2 a slot are next to each gpu. a 3 foot usb 3.0 cable runs from the rear to the front, for easy usb access on the rare occassion it’s needed. the power supply is an EVGA 600B 600W.

Hashrate: 12500 H/s on windows ninjarig

Who: greywolf – i started mining TurtleCoin just over 2 years ago.

Mining Tips: `tips and tricks about mining TRTL?` if the pool has a discord server, be a member, there will be help there if you need it. the TurtleCoin server is also a good place to get help.

Free Advertising

This is a spot to spam anything TurtleCoin related that you would like to advertise, it’s free to put an ad in the roundup.

Sync faster with bootstrap powered by bot.tips. Bootstrap data is regularly updated.https://trtl-data-dir.bot.tips

Shoutouts & Thanks

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

dsanonshout out to rock for all the hard work on karai! :DD
rockThanks to everyone who helped out this week, thanks for everyone who puts up with all of my questions 🙂
Categories
Weekly Update

This Week In TurtleCoin (April 28, 2020)

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.

turtle.army explorer

turtle.army Block Explorer

Hey guys. I’ve made a new block explorer, just for fun. This one utilizes the excellent turtlecoin-utils library to scrape the blockchain from the daemon and stores it in an sqlite database.

Yes we are going to run sqlite on a web app, and we’re going to like it.

It’s still syncing now but maybe in a week or so it’ll get there (lol). I’m considering launching a full suite of TurtleCoin related tools on https://turtle.army for the community to use. Anyways, check it out and let me know if you have any suggestions (or pitch a hand and help!)

ExtraHash

https://turtle.army

Have you seen the new website yet?

Add translation feature to TRTL2020 Website

Hi Turtles!,
Today I decided to try and port the new Turtlecoin website from html to Jekyll so we can add translations, it took a few hours but it is done and fully working!.

I am also offering a bounty of 500 TRTL for every translation submitted.

The site is very clean and lean and only has about 3 sentences to translate, it’ll probably take you a few mins.
Checkout the repo to see instructions on how to submit your translation and @me on the chat when you do the PR so I send you the trtl

Special thanks to Rock for the help and @Sythe<3#9999 for trying to do it before me and giving the inspiration.

@Turtle Max#3183

https://github.com/turtlecoin/trtl2020

Brazilian Portuguese translation

This project intends to translate the Turtle 2020 website into Brazilian Portuguese (for this, proofreaders are required for the translation, allowing it to be approved by the community) and thus integrate people from Brazil and Portugal into the project.

D4rkGh0st/MrLupus (Discord) and D4rkGh05t (Github)

https://github.com/turtlecoin/trtl2020/pull/2

Karai Website

I did some work on the marketing page for Karai.io. At the moment we don’t have a whole lot of content, and a lot of that is due to me spending most of my free time after work coding on go-karai, the Golang Karai implementation.

Eventually I’d like to get either github wiki’s working or some other documentation style website set up to share code snippets and API notes for Karai like we do with TRTL stuff and then link to that from the marketing page when someone clicks dev-related links.

Some of you asked to help out, so I’ll be putting this website up at https://github.com/turtlecoin/karai-website if anybody wants to help out or make modifications.

RockSteady

https://github.com/turtlecoin/karai-website

Karai REST API & Ephemeral Metadata

REST-API: I added a REST API to the go-karai client as part of the pointer process. That doesn’t mean a whole lot if you aren’t familiar with the terms, but what it does is provides an endpoint so that when someone finds a Karai pointer transaction on the TRTL chain, they ping the endpoint and receive a peer ID from the endpoint. That peer ID then helps you get connected to the peer swarm, kinda like the way a bit-torrent magnet link works.

Ephemeral Metadata: While we’re on the topic of headers and addresses and such, much work this weekend was put into the scheme by which we tell transactions how they’re ordered and what other connections they’re linked to. The ephemeral metadata field is a non-hashed field, which means transactions while in-formation have a degree of malleability with regard to their positioning in the graph, hence the descriptor ‘ephemeral’. This process is achieved by non-hashed ephemeral metadata fields that exist in several forms:

  • the milestone ephemeral data – A milestone that is -1 from the existing milestone tip will index the peer participants and subgraphs it has transactions for. This speeds up syncing and allows a short path to syncing just the transactions belonging to you.
  • the wave tip ephemeral data – One step down from milestone transactions are Wave Tip transactions, which are the first transactions in a listen interval who hold the transaction positional metadata for the subgraph below them.
  • transaction ephemeral data – This metadata stores the answers to such questions as – who is my parent, who is my neighbor, who is my wave tip, what milestone are we on?

If some of this sounds kinda weird to you, it’s okay, it’s weird to me too and I’m mainly the guy building it. In short what we’re building is different from something like a blockchain where each block has a block before it and a block after. Karai doesn’t have blocks, all transactions stand on their own, and they can have neighbor transactions linked above, below, and to the left and right, which forms a fractal shape (Karai is a directed acyclic graph).

On its own it sounds like a nerdy thing to get excited about, but it’s a step up from where we are with TurtleCoin, Ethereum, Bitcoin, Monero and other networks where downloading and replaying every single transactions regardless of which ones are yours is the norm. Time will tell.

Karai Transaction Store on IPFS

Last week I built a function that takes all of the JSON object transactions in the graph folder and puts them all on IPFS and reports the content ID hashes back to you. I was able to ID 1,000,000 transactions quickly but it was not as fast as I’d liked.

That got me thinking.. How much really needs to happen to these transactions while they’re in-formation (this is what I’m calling the state where the transactions are still being interlinked by the coordinator node) that can’t wait until after the listen interval has concluded?
I think what I learned from my experience is that I should batch the transaction objects somehow and address them in chunks to make the process faster, and that this process of addressing and pinning the transactions should happen after the formation of the transactions has settled, because otherwise it’s just doing too much at once.

Regardless, the test was a success! This coming week I’ll be spending my free time after work and during lunch checking out the various graph-visualization libraries out there to work out some type of explorer-like representation of the transaction waves. I hope I come up with something cool, I ran across a lot of great examples for directed flow graphs.

go-karai terminal client for Windows/MacOS

With the help of Rashed, we got the build pipeline created with binaries generated for every release of go-karai on Github. We generated a few test releases (sorry for the noise if you subscribe to updates) and everything compiles as expected. Currently we’re having two issues I need you guys to help me with.

  • I use a lot of color in the terminal interface for Karai, it works on Linux just fine, and in Windows it looks fine if you use GitBash or Mingw64 as your terminal, however `\033&1;33mIt looks like\033&0;90mthis \033&1;33mfor everyone else if they use powershell or windows cmd. Those color codes don’t get interpreted correctly. I tried a few options, and unfortunately could not get it working. If anybody wants to give ANSI 8 bit terminal color in windows a shot, by my guest
  • MacOS is compiled, however I’m a brainlet and have never, to this day, got MacOS running in VirtualBox, and don’t own any MacOS hardware. If any of you run whatever the accepted ‘current stable’ version of MacOS is out there, please give go-karai compiled binaries a shot and let me know if you see color at all. Just run ./go-karai and hit enter a few times and if the text is white and green or something similar, it worked. Thanks!

Rock

https://github.com/turtlecoin/go-karai

TurtleCoin Vanity Address Generator (usage tips)

Last week I was shootin the shit with our resident cubist and expert in anything related to colored-squares, Professor L, and was talking about generating vanity addresses for TurtleCoin.

What the hell is a vanity address, you might ask. Because you’re a strong man and vanity is for puffs who wear skirts and lipstick right? WELL. Let me tell you, it’s pretty fucking cool and actually +10’s your manliness with a cool wallet address like TRTLv1rockiQcRbC5TB5VAKgVdr3sXqxN8r1q89JKNB5ZJgQYNjoanZgrGiLUaRKLUZXf8FSCgoaudiHwPZVcAqH1Y4QnjC2puE

The vanity address generator has actually been in our repos since the wee early days of TurtleCoin, written by one of the earliest botmasters, MoonMoonDoggo, who also wrote the Rain Bot (or roach bot depending how you felt about it). The generator was written in a compiled language called ‘Nim’ which allegedly is pretty cool according to the sadists who practice that type of witchcraft. I guess it never got the attention it deserved, and when I was reminded of it, I wanted to generate some addresses.

https://github.com/turtlecoin/turtle-vanitygen

As I downloaded the source code and sought out to compile it, I ran into a big snag. When I say that Nim is some type of voodoo sorcery, I mean the error this thing shat out into my terminal was so cryptic and arcane, I felt like the compiler had just thrown a glove on the ground at my feet like “I fucking dare you, nerd *compiler puffs chest*”. I tried and tried, couldn’t even google my way out of a paper sack that night, but there was a clue. Professor L said that it compiled successfully on a version much lower than the one I had, like comparing 0.17.2 to 1.2.0 or something.

https://nim-lang.org/

If you run into these crazy errors, I found the solution. Use a tool called ChooseNim and downgrade to version 0.17.2

https://github.com/cloned2k16/niMan

Also another note, you might be tempted into thinking, “hey what if I open 8 of these windows and do it 8x as fast”, it’s not going to work like you think it will. As Zpalm pointed out, it’s already seeing how many cores you have and running accordingly, and you’ll notice if you run htop while it’s going it’s using 100% of each core until it finds an address that conforms to the prefix you gave it.

It takes only a few minutes to find a prefix with ‘rock’ in it, but so far haven’t been able to get ‘rocksteady’, it is exponentially more difficult with each letter you add. Let us know if you generate anything cool!

Rock

Moving Up!

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

Core Contributor: LeoCuvee#1481

Developer: Turtle Max#3183, LeoCuvee#1481, Buggles#5389

Contributor: Alien#5919, Savon#6826

PR Guerilla: Kinjo#5916

Mining RigOZ v001 by Yurii

Rig Of The Week

Do you have a TRTL mining rig you want to show off? Tell us about it!

Rig Description: x5 RX550 2GB, modded bios, downvolt, 355W on CHUKWA
Secrets: “Just keep mining lol :)”

Hashrate: 140 KH\s on CHUKWA

Free Advertising

This is a spot to spam anything TurtleCoin related that you would like to advertise, it’s free to put an ad in the roundup.

Sync faster with bootstrap powered by bot.tips. Bootstrap data is regularly updated.https://trtl-data-dir.bot.tips

Shoutouts & Thanks

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

MadkShoutouts to mc.evilma.id – the unofficial Minecraft server of turtlecoin.
greywolfthanks much to zerouan and brätövenhürt for the lively DJ talk show while hosting karaoke
zerouanthanks yall for supporting vision street wear, lilly meraviglia and not eat any pineapple pizzas
dsanonshout out to rock for all the hard work on karai! :DD
Categories
Weekly Update

This Week In TurtleCoin (April 22, 2020)

Pictured above: a Monster Energy Drink molecule

This week we wrote code with our eyes closed and everything still compiled. Lightsabers are in the mail!

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-wallet-backend

This week I upgraded turtlecoin-wallet-backend to use the 2.0.0 rewrite of turtlecoin-utils. Along with providing a much improved TypeScript interface, this will prep turtlecoin-wallet-backend to be ready for any interaction with Karai, as turtlecoin-utils will provide an easy interface to parse out a Karai pointer from any transaction once we have finalized how we want to store it.

In the process, I also found and fixed a small bug where disabling auto optimization would not work correctly.

Zpalm

https://github.com/turtlecoin/turtlecoin-wallet-backend-js/tree/development

Karai Is Solving The Scalability Problem

For those of you that know the name but don’t quite know what it is, I’ll give you a quick pitch on what the Karai project is, and how it relates to TRTL:

Background: Karai started out as one of the early milestones we had with a goal of providing a sidechain to store Ethereum-like smart contracts for the TRTL Network. At the time the approach we were planning to take was all wrong, we were going to launch a single sidechain, with its own currency, using the same linear blockchain software as TRTL with the same inherent drawbacks compounded by the need for extra storage. The headaches were already stacking up and that was not even considering the work that would need to be done to allow people to program their own applications on this thing or be anywhere near up to par with Ethereum, which was a lofty goal at the time.

Fast forward: About 2 months ago, as our core software started reaching a point of relative stability we had a moment to step back and look at other initiatives to do some of the much-needed conceptual work we used to do with our free time. As luck would have it, conversations naturally resumed about a new way of implementing Karai that would address some of the concerns we had about our initial approach. Let’s summarize what some of those issues are:

  • A side chain only prolongs the bloat problem – If spam attacks have taught us anything it’s that if there’s a globally shared asset within easy reach of the masses, someone’s going to put a goatse on it. If you have to sync through the entirety of historic data on-chain from the birth of that particular blockchain just to sync to some data from last month, that’s a problem that gets worse every block whether there is a transaction in them for you or not. Any network with sufficiently fast blocks (like TRTL) and a singular linear chain of blocks will face a problem with scanning and storage eventually.
  • Yet Another Token Syndrome – Karai originally was intended to have its own native coin that was pegged to the value of TRTL to act as ‘gas’ for computation on the Karai sidechain network. The balance between the two plus the third element of relying on merge mined hashrate was a precarious balance and any ability to destabilizing any single element of that would spell disaster. Any sidechain with its own native currency will experience this issue. There is also the issue of token-fatigue which anybody not new to the scene can elaborate on.
  • Linear Blockchains are slow – Trying to use a linear blockchain for high transaction volume is a nightmare, because the shortest route between A and Z will always be touching every letter between along the way, A, B, C, D, E… Because of this, Bitcoin does less than 4 transactions a second, Ethereum does less than 20 transactions a second, and for comparison, the VISA network claims to do less than 2000 transactions per second..

While we are spelling out a list of our gripes trying to implement smart contracts on a sidechain using conventional means, we might as well address how the new plan solves them.

https://i2.wp.com/media.discordapp.net/attachments/453726546868305962/702672129845493790/unknown.png?w=580&ssl=1
Diagram of Karai’s transaction graph
  • The Sidechain Problem – Karai transaction channels are numerous and not required to be part of a single sidechain. Another technology using this concept might be familiar to you is Lightning Network technology. In the case of Karai, a new user can connect to 1 channel or many channels, and only has to interact with the history of the swarm they’re connected to. Private and unknown Karai networks are possible by default, the main chain doesn’t have to know.
  • The TurtleCoin vs A 2nd Coin Problem – Maintaining a secondary asset would fracture the community’s trust and development capacity while also dividing the loyalty and demand between two assets. It’s also a rule of thumb that anything you assign monetary value to will be subject to manipulation and attack with a financial motive. The world does not need yet another token.
  • Linear Blockchains are slow – Karai is a directed acyclic graph, where there is no single line of blocks to traverse on the path from A to Z. Another network using a directed acyclic graph (or DAG) is IOTA which some of you may know as being particularly fast and unique in the structure in which it arranges blocks. First we should cover that Karai doesn’t have blocks holding the transactions because transactions are independent objects, and it also doesnt have a block interval where empty dust is being produced and recorded for no reason while waiting for transactions.
    A person connecting for the first time wouldn’t need to pass from A to Z in the transaction history by going through every node A, B, C, D, and so on but instead take only a few hops to scan to the tips of the graph.

With this in mind, last week when I started prototyping some of the code written for the transactional side of Karai, I made a boastful assumption that we could hit a target of 10,000 transactions per second.

I’ll admit that before I was able to write a benchmark or even write a transaction creation method for that many transactions I was already a bit skeptical if I’d just put my foot in my mouth.

Initially when I wrote the benchmark, it was fairly unoptimized, and the way I was creating the transactions and timing the execution of them was a little computationally wasteful, so my first benchmark indicated I was doing 10,000 transactions in a little over 2 seconds. It was disappointing but also inspiring to have a goal to aspire to. It didn’t take long, but with the suggestions of IBMCD and Z, we were able to make some significant improvements in a single night.

We’ll just come out and say it. We hit 1 million (1,000,000) transactions created, processed and recorded to HDD in under 1 second. This was with a single threaded benchmark using a Ryzen 1800.

As a disclaimer, It’s important to note that in this benchmark we’re not sending any of these transactions over the network, they’re all transactions being created from and processed on the channel coordinator and saved to spinning disk. It’s likely that when we introduce network latency we will incur some slowdown to this number. That being said, these are impressive numbers. Let’s talk about how we derive those numbers.

https://cdn.discordapp.com/attachments/453726546868305962/701964445378674708/unknown.png

The process, For each of the million transactions, constructed an object consisting of the transaction type, the current hash, the ancestor’s hash, and a JSON object containing the transaction’s own graph position in it. This is a fairly small transaction, but not empty.
Each transaction generates a separate JSON file on disk containing the Tx data we just covered. The hard drive it was stored on was the same hard drive it was run from, a Western Digital Red 8TB drive. All of this Tx data is then hashed with SHA256 and the process repeats for the next 999,999 transactions.

Interesting details, In the process of doing the first benchmark of 10,000 transactions, we noticed that while using the terminal screencapping tool “Asciinema” we were running into the framebuffer becoming our bottleneck with the transaction finishing in 5% of the time it took to render the output to the screen. This was one detail that initially skewed the benchmark readings significantly. Another interesting tidbit we learned is that if you suddenly generate 1 million files into the same folder, two things happen: Git will display a notice that your project can no longer be tracked because it has exceeded the number of files it can watch, and you’ll no longer be able to rm Tx*.json the files you just created because the list of files to be fed into the rm command will be too big.
Other things that crashed were my file manager, the game I paused for the benchmark, the YouTube video I was watching, and Winamp.

I think Winamp just wanted to crash for old time’s sake and should be treated as unrelated.

https://cdn.discordapp.com/attachments/453726546868305962/702031763970588742/unknown.png
Extras pointer collection service

Also, we figured out how the pointers work from TRTL Network to a Karai transaction channel, and stored a few of them on the TRTL blockchain already, you can check them out on the official Karai Explorer which Extrahash has been making to scan and track all of the Karai channel pointers he can find in the TRTL blockchain and catalog them with some basic data. It’s really cool, you should check it out.

I’m making progress on cleaning up the code base to get it ready to share on Git, it’s written in Go if anybody is looking for something new to learn and want to help out. My current goal is putting the DAG tip selection algorithm into code prototype stage, which shouldn’t be that bad given the speed of current development.

See you next week!

https://karaiexplorer.extrahash.org/

Join us in #Dev_Karai in the Discord if you have any questions.

RockSteady (TRTL)

Moving Up!

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

Karai Dev Role – Extrahash, RockSteady, Zpalm, Ibmcd

Shoutouts & Thanks

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

  • Madk Shoutouts to mc.evilma.id – the unofficial Minecraft server of turtlecoin.
  • greywolf thanks much to zerouan and brätövenhürt for the lively DJ talk show while hosting karaoke
  • zerouan thanks yall for supporting vision street wear, lilly meraviglia and not eat any pineapple pizzas
  • rock thanks to everyone helping me out with karai, the website, and any of the other irons in the fire we got goin right now

Categories
Weekly Update

This Week In TurtleCoin (April 14, 2020)

This week we let Jesus take the wheel as we mashed autocomplete on an iPhone 3G until this issue of the roundup was written..

TRTL Movie Night soon on DJ3d.io? Sound good? Let me know what you think in the chat.

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.

trtl-py on pypi.org

trtl-py is a JSON-RPC Wrapper for TurtleCoind and Wallet-API. I’ve been working on the project since a month, and it’s my pleasure to announce that it’s ready, and out to be used. Would love reviews, suggestions and feedback on the wrapper. I’ve spent a good time documenting everything and providing examples of every method. I hope you’ll like the project and am looking forward to your views on the wrapper. Have a nice week turtles! 🙂

sohamb03

https://pypi.org/project/trtl

https://github.com/sohamb03/trtl-py

https://trtl-py.sohamb03.me

Welcome back IBMCD from his 90 day program, bravely overcoming his battle with Pokemon Go addiction.

Long time, no update from me. Let’s fix that.

Crazy times we’ve all been in the last few weeks. Disrupted schedules, focus changes, priority shifts, you name it. Personally, my days are filled with video conferences and my nights are oft left wondering what the other side of this fiasco looks like. There’s a lot of uncertainty floating around out there and I wonder where I can use my talents to shape the world around me. New problems require new solutions and there’s more than enough problems to go around.

I, for one, have many pans in the fire and wear many hats to say the least. I’m still working on building out full multisig support for the core software but that takes time and focus that isn’t easy to come by when each day is more mentally draining than the last. Instead, I find myself thinking about different use cases for the technology I’ve learned so much about through this community.

Using the technology as method of funds storage and transfer is a use case that works well. Smart contracts, great, okay, sure. Distributed processing, yeah, I can get behind that. What else can be done with the core technology though? Where can blockchain be used that hasn’t been tapped yet? What real world problems can the technology solve that isn’t ultimately throwing the blockchain buzz word around systems and processes that work just fine how they are? There has to be something more than currency and asset tracking that comes from this.

I’ve been tossing some ideas around the last few weeks, quite often while in the shower. There’s nothing solid in my mind yet but parts of a bigger picture are starting to come together. What that means, I can’t say. It is; however, a chicken and egg scenario. I have to be careful not to create a problem to fit the solution I have forming. To do so, will ultimately lead to its own demise before it even gets off the ground.

Til then, I’ll keep chugging away, working on things that make sense to me given the current world stage by keeping my focus where it matters most and helping those that are in desperate need of guidance. As time permits I’ll get back to churning out updates and code.

There’s plenty to do so if you’d like to lend a hand, speak to and I’m sure that I, or any other contributor, will be more than happy to point you towards ways you can help.

Oh yeah, almost forgot, I pushed a new release of turtlecoin-utils a few weeks ago. Now with full TypeScript support. Check it out :)”

IBurnMyCD

Support the advertisers below!

Free AdvertisingTurtleCoin public nodeFree Advertising

This is a spot to spam anything TurtleCoin related that you would like to advertise, it’s free to put an ad in the roundup.

  • Cryptocurrency TipBot for your discord server. Available with many coins including TRTL. https://discordapp.com/oauth2/authorize?client_id=474841349968101386&scope=bot&permissions=3072
  • Get Started Mining Today At MuxDux TurtleCoin Mining Pool https://trtl.muxdux.com
  • Telegram Cryptocurrency TipBot. Available with many coins including TRTL. https://t.me/teletip_bot
    check out the cool web page that my friend Muf made last year for my
  • TurtleCoin public node. check out the cool web page that my friend Muf made last year for my TurtleCoin public node. there is a button to copy the node’s address, a node online indicator, a current CMC snapshot, a TRTL to USD/EUR/GBP/BTC converter, the latest tweet from the TurtleCoin Twitter account, and a link to a video that i just discovered is broken (sorry, i’ll check into it). the node is located in Germany, and i try to keep it up as much as i can. ~greywolf https://TurtleNode.co

Happy Birthday Muf 🙂

Categories
Weekly Update

This Week In TurtleCoin (April 7, 2020)

Quarantine Isolation day 34: A prominent theory is developing that asserts ‘outside’ has simply been a simulation to distract us from our true goal of dominating the meme-coin arms race.

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.

TRTLApps.io

TRTLApps.io is a service I have been working on for the past few months which aims to make it easy for developers of apps and games to integrate TurtleCoin into their projects.

I’m not saying we have secret technology such as NipAlert, but I’m also not saying we don’t have it either.

The service is still in early development and not open to the public, but if you would like to experiment with the API ping me on Discord and I can give you an invitation code.

This past week I’ve been working on a better way for saving and loading the service wallet files to storage, which will allow for periodically creating checkpoints. If we detect that the wallet is in a bad state for any reason(missed transactions while scanning blocks for example), we will be able to rewind the last saved checkpoint we know was in a good state and rescan.

Big thanks to the devs in the discord channels for all your help and patience, and sajo for trying out the service with his game “”Chukwa’s Labyrinth””!

zoidbergZA

https://TRTLApps.io

ExtraHash

Hey guys. Long time no talk, it’s ExtraHash, your GUI wallet maintainer. Not a whole lot has been going on with the GUI wallet lately.. it’s basically reached a point of stability, where new issues aren’t really getting opened up, it seems like everyone is pretty pleased with it overall. So that’s a really nice place to be.

That being said, some things are going to be coming down the pipeline with Karai that I’m looking forward to supporting in the wallet and seeing what that’s going to look like. Additionally, I’m thinking it might be a good time to go for a redesign, since we redesigned the home page. Perhaps we might want to make the interface fit the new brand guidelines better and drop the moniker Proton once and for all, and just release as the TurtleCoin® wallet.

What do you guys think? Drop me a ping in #dev_marketing if anybody wants to discuss this further.

ExtraHash

Moving Up!

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

Contributor Role – Alien, Savon

Rig Of The Week

Do you have a TRTL mining rig you want to show off? Tell us about it!

Random found friend’s rig in our Prague office

Contributed by Olé Cuvée

Description: two RX580s with Samsung memory.

Secrets: add objects for drying, does not add to more hashrate, but makes the extra heat useful 🙂

We built a number of rigs in our Prague office, this one is a one of my friend’s 🙂

  • about 18 kh/s on cn-turtle, about 100kh/s on chukwa

Shoutouts & Thanks

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

  • greywolf thank you to these guys who helped along my journey in the land of TurtleCoin (i think chronologically): Ereptor, Turtle?, zpalmtree, Chef, auto-joe, cryptohno, labaylabay, Crappyrules, morpheus, Mufalito, Japakar, Rogerrobers, ExtraHash, Pluton, and LeoCuvée
  • rock Thanks to everyone who’s been helping out with this whole karai exit scam plan design scheme

A Bit Extra

Worth mentioning are the things that the TRTL community creates that aren’t necessarily TRTL related but still pretty cool. One that I’d like to show you this week is our resident audio-therapist, Oiboo. You might know him from such creations as Turtle Arcade, Turtle Simulator, and a big helper with Chukwa’s Labyrinth. This entire roundup was written with his musical works playing in the background, and I wanted you guys to check it out, he’s got a lot of good chunes for you guys to rock out to while you code.

If you don’t listen to the entire playlist, your mom will die in her sleep tonight.
Listen to these as well for extra TRTL vitality
Categories
Weekly Update

This Week In TurtleCoin (March 31, 2020)

This week we jumped on the LISP train so we can all start writing software the way the good lord intended.

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.

To submit your post, click this link

The New Website

Work is underway to convert the new website from a working concept to an i18n compatible, jekyll-based github static site like our current website on https://turtlecoin.lol .

Earlier this week a volunteer from the chat decided to start the process of porting the new website to markdown. What’s left is turning the various text blobs into mapped quotes for the people who make translations. We try to serve as many regions as possible in their own regional language, so a requirement to launch the new site is for the new site to be i18n ready.

If you’d like to jump in and help out, respond in this issue thread or ping me in the discord and I can get you started.

RockSteady

https://github.com/rocksteadytc/trtl2020/issues/6

https://rocksteadytc.github.io/trtl2020/

pictured above: Zpalmtree answering calls on the request line

wallet-api

This week I added a few new API calls to wallet-api that had been requested by devs.

The first allows you to retrieve all transactions that have a payment ID. This can be useful for people running services where a payment ID is used to identify accounts/users.

The second is along the same lines, but takes a payment ID and returns all transactions with that payment ID. This can allow services to easily retrieve transaction info for a single user.

Zpalm

https://github.com/turtlecoin/turtlecoin/pull/1048

Wallet-API Lisp

This project is a wrapper for the Wallet-API wrote in common lisp. It allows the user to implement wallet functions within common lisp.

I hope to further implement this wrapper in other projects with TurtleCoin and continue experimenting with the language. While experimenting I hope to see how well common lisp fits into TurtleCoin and the community at large.

spfcjic869542

https://github.com/turtlecoin/wallet-api-lisp

Karai Transaction Channels

If you’ve been following the conversations in #dev_karai over the past month, we’ve been conceptualizing how Karai should work. We’re working on a variation of an idea proposed by Fexra, which at the time was to implement Lightning-Network-like payment channels off-chain that are linked on the TRTL chain by simple pointers to the appropriate Karai transaction channel.

I had some spare time after hours and started working on the design and some experimental code for Karai’s payment channels component. It’s nothing worth pushing to the repos yet but should get there soon.

Currently the software can do a few things:

  • add and verify transactions on a local linear chain
  • create transactions that hold blobs of data
  • print the chain and associated hashes and stored data

It has a list of things it can’t do, but it’s coming together slowly but surely, and it’s a fun personal project to whittle on after work every day to sharpen my Golang skills. Things that took place last week that may have not been mentioned are just little things like assigning a license to the project (we chose MIT license), creating an IPFS peer identity for the Karai node, and some basic TRTL wallet api functions to create/maintain a wallet for paying or receiving pinning fees etc.

None of this is super significant, but I wanted to encourage other devs to move back toward the trend of posting updates for their projects that are in-progress rather than waiting on them being completed before posting. Writing about the process as it happens helps us to show the users that we’re always working hard, and makes them more likely to show up on release day or help out with testing.

RockSteady

https://github.com/rocksteadytc/go-karai

https://github.com/RocksteadyTC/go-karai/blob/master/docs/DESIGN.md

Moving Up!

Congratulations fellas

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

spfcjic869542 – Developer

Kinjo – PR Guerilla

Shoutouts & Thanks

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

Rock shout out to to the fellas with the hard hats on in dev_learning putting up with my retardation sometimes 🙂

Stop touching your face.

– Mom