http://www.perlmonks.org?node_id=11142681

As some of you know, i have been playing around with the PerlMonks API to create my own fake internet money. Basically, it's a way to play around with NFT without actually wasting money on that stuff.

Presenting: XPD

XPD is the Perlmonks XP Derivative. It's sort of fake monopoly money for PerlMonks. Currently, it supports sending XPD between registered accounts, creating NFT and selling them on the market for a fixed price.

Edit: If you encounter a bug, post a reply to this post. I have fixed some bugs already, but there are probably more of them around.

Here is the link: https://cav.ac

FAQ:

Is is real (crypto) currency?
Nope. This is just a play thing for PerlMonks. Just as PM XP, it has no monetary value. But it's fun.

Is it blockchain?
Nope. Blockchains are slow and cumbersome. I use the age old model of central banking. E.g. it's a PostgreSQL database.

Is it a crypto currency?
Nope. I mean, i could add checksums and stuff, but what's the point? If you want to make sure i don't mess around, there is a public ledger will all transactions available. You could copy the data. It's currently a bit cumbersome, public API coming soon.

How do i earn XPD. Mining? Proof of Work?
Nope. XPD uses Proof of Monk.

Proof of Monk?????
XPD is linked to your account on PerlMonks. Be a nice person and help others on PM. This will earn you XP. And earned XP is added to your XPD account. Be naughty and loose XP, and XPD will be deducted.

How do i register an account?
Go to https://cav.ac/user/register. You will need a PM account with at least 500 XP, at least 30 posts and a XP-per-post average of at least 4. Fill in the form. Use a password you don't use anywhere else. If you have a password manager that can generate unique random passwords, use that. You username must match your PerlMonks username exactly, because that's how you earn XPD. For validation, you will also temporarily need to add a randomly generated text to your PM homenode.

How often is generated XP added to my XPD account?
It's currently set at 72 hour. But, on account creation all XP you already have is added to your XPD account within a minute or so.

How long does it take to send XPD to another user?
You select the username and amount, then click "Send". Then the backend checks if have the required funds in your account, does a database insert and it's done. Depending on the other workloads, takes a few seconds usually.

How does NFT work?
It's PNG files, 128x128 pixels. It costs 1 XPD to create one NFT.

How long does it take to create an NFT?
Similar to sending XPD to someone. You select the PNG file, fill in title and description and hit upload. Then the backend checks (asynchronously) if your file is valid and that you have the required 1 XPD in your account, does a database insert and it's done. Depending on the other workloads, takes a few seconds usually.

Transaction fees?
Huh? Why would i charge fees for doing a few database statements that take a few milliseconds. No, the only thing that "costs" a fee is NFT creation. Mostly because i want you lot not completely filling my ancient server with PNG files within the first 24 hours.

API?
Uhm, yes, coming soon. It's currently missing a few features, like the ability to not crash the server on every other call.

Selling NFT via an auction?
Not yet. The backend if half finished, should be online in a few days.

Smart contracts? Scripting?
That's in the late design phase. Pretty much anything you can do in the web interface, you will be able to do in the scripting engine. Plus some. You'll be able to buy and sell NFTs, send XPD to someone, bid on an auction, implement a piggy bank, run a Ponzi scheme(*), ...

(*) It's not real money, XPD is a fun learning experience. If you know how to implement an automated Ponzi scheme, go for it.

perl -e 'use Crypt::Digest::SHA256 qw[sha256_hex]; print substr(sha256_hex("the Answer To Life, The Universe And Everything"), 6, 2), "\n";'