Dizzy Wallet - Minor Grants Updates

Milestone 3 complete!

as mentioned here milestone 3 and were changed.

Deliverable 4.1: Public release of the source code of Node.js library on github

Yes, that’s right a node.js library for working with Zcash.

It uses zingolib in th background. My code wraps and made coding very easy!
My library does:

  • Automatic wallet creation or restoring
  • Automatic wallet syncing
  • Provide easy to use classes to create and send transactions
  • Provide easy to use classes for payment detection.

I didn’t felt comfortable releasing this code without some sort of demo, so I created a Zec Faucet using this library.

Son I’ll write proper documentation, but it’s quite easy to use.
Basic example:

const Litewallet = require('./litewallet');

const client = new Litewallet("https://mainnet.lightwalletd.com:9067/");

client.init().then(()=> {
    // Fetch wallet balance
    const bal = client.fetchTotalBalance();
    console.log(bal);

    // Get all addresses
    const addrs = client.fetchAllAddresses();
    console.log(addrs);

    // Get addresses with balance
    const addrsbal = client.fetchAddressesWithBalance();
    console.log(addrsbal);

    client.deinitialize();        
}).catch((err) => {console.log(err)});

Sending payments are very easy:

const tx = new TxBuilder()
            .setRecipient("u1h0dhm6mqf2dylrtczhcwxaw84qh0n47u63grz7mwtjfkw73eh0mjpsx3fm8sv2j2amnghgu3s5g0fyk6zc8r7fd93rrf0y48d4ms4je2glw6v6suwvt0qygvp8hfwua8mc44ughqswuy5gte62z8x93nzzfzlk5fjd8g0wuvpzvze445mlq8l305kudlnsw6cpdqpt2zcy3xkks2llr")
          .setAmount(0.007)
          .setMemo("Hello World");

      // Get the sendjson
      const sendJson = tx.getSendJSON();
      
      client.sendTransaction(sendJson).then((txid) => {
          console.log(txid);
      });

Detecting a payment is also very easy:

const pd = new PaymentDetect(client);
pd.detectSimple(5000); // Scan for payment every 5 seconds (5000 ms)

// Get latest deposit
pd.on('payment', (tx) => {
     console.log(tx);
});

I’m not sure how to deliver as a npm / yarn packege, but clonning the repo is good enough for now. Try messing around with index.js or the examples.

Deliverable 4.2: Continue development, possible bug fixing of Dizzy Wallet

Dizzy is working perfectly. Discord users love it. It has a lot of features.
Not much to report here, since no bugs have appeared :slight_smile:. Only needed some code clean up.
edit
I spoke too soon. Not 10 minutes after I said Dizzy has no bugs, a major bug appeared. I’m already working on it, I have backups, no ZEC was lost. I’ll keep you guys updated.
edit 08/04/2023
Dizzy is back online for withdrawing. Users can withdraw their ZEC from Dizzy to their wallets.
edit 08/05/2023
Dizzy is fully operational again :slight_smile:

Deliverable 4.3: Continue Hosting previous work on Virtual Private Computing service (AWS / Lightsail)

All of my projects are beeing hosted on Lightsail, no missed payment.
Projects being maintained:

  • Dizzy
    • The Discord Zec bot
  • Tipsy
    • The telegram Zec bot
  • ZecQuiz
    • Discord bot for testing members knowledge about Zcash.
  • ZecStats
    • Zcash stats and halving countdown
    • ZecStats has a new commando for converting ZEC prices directly on discord $zconvert 1 ZEC to USD for example.
  • ZecGPT
    • ZecGPT 2.0 was released, the community loved it. Now it uses openai’s gpt4 model. ZecGPT 2.0 are context aware and can answer questions better than before. Users also love to chat random subjects with it.

That’s it

And that’s it for this milestone. I believe the star of the show is the release of node.js library, Let’s see creative things people will make with it. As soon as I discover how to make it available as npm / yarn package I’ll write a follow up post here.
You think my code isn’t good enough? Please help me sending PRs and opening issues, please!

8 Likes