Skip to content

Latest commit

 

History

History
316 lines (249 loc) · 11.6 KB

README.md

File metadata and controls

316 lines (249 loc) · 11.6 KB

Contributors Forks Stargazers Issues


ApeZords Doginal Theory

Follow this read me to start inscribing directly on-chain on the Dogecoin Blockchain using a Linux Ubunutu 22.04!
~by Booktoshi

The history of Doginals on the Dogecoin blockchain is an interesting journey that began in 2023. The concept of Doginals, also known as DRC-20 tokens, was introduced to add a fresh dimension to Dogecoin. It allowed for the inscription of unique data on Dogecoin units known as Shibs, effectively creating collectible digital assets. These assets are similar to NFTs but are integrated directly into Dogecoin's blockchain, leveraging its security and ease of use.

The idea of Doginals was initiated and deployed by a pseudonymous individual known as Anon (twitter: @apezord) back in February 2023. This marked the beginning of a new era for Dogecoin, as it allowed users to engage with the blockchain in a more creative and interactive manner while also recording the assets directly on-chain.

The process of creating, trading, and owning Doginals is supported by a vibrant community and various tools designed for this purpose. The Bitcoin Ordinals, Crypto NFTs, developers, and Doginal Communities are among the key resources for users interested in Doginals.

In 2023, the first collection of 10,000 Inscriptions was registered on the Dogecoin blockchain, marking a significant milestone in the adoption of Doginals. This was followed by the creation of the DRC-20 standard, which further facilitated the creation and trading of these digital assets.

The introduction of Doginals has brought a new layer of utility and functionality to Dogecoin, allowing it to move beyond its original use case as a fun cryptocurrency. It has opened up new avenues for innovation and creativity in the blockchain space, with a growing community of enthusiasts and developers contributing to its growth.

In summary, the history of Doginals on the Dogecoin blockchain is a testament to the power of community and innovation. It has transformed Dogecoin from a meme-based cryptocurrency into a platform for the creation and trading of unique digital assets.

The Node Runners carry on the tradition and provenance that ApeZord has set-forth through his Doginal Theory on Dogecoin Blockchain.

(back to top)

Getting Started on Ubuntu 22.04 VPS/Linux System

This is an example of how you may give instructions on setting up your project locally. To get a local copy up and running follow these simple example steps.

Prerequisites

The programs and dependencies below are needed to run most Doginal protocols found within this repository.

You must have downloaded and installed a Dogecoin Node and have set up your dogecoin.conf file properly before performing the steps below. You can follow this link in order to learn how to install and operate a Dogecoin Node on a Ubunutu 22.04 using a VPS/Linux System.

  1. Install Node.js through NVM Copy the curl command below to audit the download of Node.js
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh
  1. Copy the curl command below to download Node.js
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
  1. The source command below will install node.js to your system
source ~/.bashrc
  1. Now run the install stable command below to install the most recent stable version of node.js
nvm install stable
  1. Lastly, install NPM via command below
sudo apt install npm

ApeZords Doginal.js Installation

Now we will download the Doginal repository to our system and install the ApeZord Doginal Inscriber.

  1. First clone the repo into your system
git clone https://github.com/booktoshi/doginals.git
  1. Go into doginals folder and install packages
cd doginals
npm install
  1. Create and save your .env environment file.
    nano .env
  2. Save the file settings.
    ctrl + x ~~> Press Y ~~> ENTER
  3. Copy and paste the below .env format.
    NODE_RPC_URL=http://127.0.0.1:22555
    NODE_RPC_USER=your
    NODE_RPC_PASS=pass
    TESTNET=false
    FEE_PER_KB=30000000
    
  4. Save the file settings.
    ctrl + x ~~> Press Y ~~> ENTER
  5. Create a new wallet from the terminal.
    node . wallet new
  6. Retrieve your private key from your wallet file. DO NOT CHANGE ANY INFORMATION. YOU ARE ONLY COPYING YOUR PRIVATE KEY AND WALLET ADDRESS.
    nano .wallet.json
  7. In your terminal run the following command to import your private key into your Dogecoin Node
    dogecoin-cli importprivkey <your_private_key> <optional_label> false
  8. Send $DOGE to your new Doginal Inscription wallet from another
    wallet, your CEX or by swapping another crypto into $DOGE https://t.me/WEN_SWAP_BOT
  9. Once your $DOGE is sent, give it about 5 minutes for your UTXO's to settle. You can check this by importing your Inscription wallet into DogeLabs Chrome Extension, going to doge.ordinalswallet.com, connecting your wallet on the wallet view page, and making sure that your "Incoming" UTXO's are no longer orange and you have a full balance.
  10. To check your Doginal Inscription Wallet Balance and to also Sync your wallet to the Dogecoin Blockchain, run the command below.
node . wallet sync

Minting Files & Pictures/Videos

  1. From file:
node . mint <address> <path>

Example:

node . mint D9Ue4zayx5NP7sTSBMM9uwuzqpHv4HnkaN dog.jpeg
  1. From data:
node . mint <address> <content type> <base64>

Example:

node . mint D9Ue4zayx5NP7sTSBMM9uwuzqpHv4HnkaN "text/plain;charset=utf-8" 576f6f6621
  1. Deploy DRC-20
node . drc-20 deploy <address> <ticker> <max token supply> <max allowed mint limit>

Example:

node . drc-20 deploy D9Ue4zayx5NP7sTSBMM9uwuzqpHv4HnkaN depl 21000000 100
  1. Minting DRC-20
node . drc-20 mint <address> <ticker> <amount>

Example:

node . drc-20 mint D9Ue4zayx5NP7sTSBMM9uwuzqpHv4HnkaN dogi 1000
  1. Optional: Viewing, Start the server:
node . server
  1. And open your browser to:
http://localhost:3000/tx/15f3b73df7e5c072becb1d84191843ba080734805addfccb650929719080f62e

(back to top)

Doginal Theory Protocol

The doginals protocol allows any size data to be inscribed onto subwoofers.

An inscription is defined as a series of push datas: sh "ord" OP_1 "text/plain;charset=utf-8" OP_0 "Woof!" For doginals, we introduce a couple extensions. First, content may spread across multiple parts: "ord" OP_2 "text/plain;charset=utf-8" OP_1 "Woof and " OP_0 "woof woof!"

This content here would be concatenated as "Woof and woof woof!". This allows up to ~1500 bytes of data per transaction.

Second, P2SH is used to encode inscriptions.

There are no restrictions on what P2SH scripts may do as long as the redeem scripts start with inscription push datas.

And third, inscriptions are allowed to chain across transactions:

Transaction 1: sh "ord" OP_2 "text/plain;charset=utf-8" OP_1 "Woof and "

Transaction 2 sh OP_0 "woof woof!"

With the restriction that each inscription part after the first must start with a number separator, and number separators must count down to 0.

This allows indexers to know how much data remains. For more examples, please refer to the Documentation

(back to top)

FAQ

I'm getting ECONNREFUSED errors when minting

There's a problem with the node connection. Your dogecoin.conf file should look something like:

rpcuser=ape
rpcpassword=zord
rpcport=22555
server=1

Make sure "port" is not set to the same number as "rpcport". Also make sure "rpcauth" is not set.

Your .env file should look like:

NODE_RPC_URL=http://127.0.0.1:22555
NODE_RPC_USER=your
NODE_RPC_PASS=pass
TESTNET=false
FEE_PER_KB=30000000

I'm getting "insufficient priority" errors when minting

The miner fee is too low. You can increase it up by putting FEE_PER_KB=30000000 in your .env file or just wait it out. The default is 210000000 but spikes up when demand is high.

(back to top)

Contact

X Account: @booktoshi

Email: [email protected]

(back to top)

Acknowledgments

If You would like to support with Donations, Send all Dogecoin tothe following Contributors:

  1. Booktoshi - X: @booktoshi - Wallet: D9Ue4zayx5NP7sTSBMM9uwuzqpHv4HnkaN

  2. ApeZord - X: @apezord - Wallet: DNmrp12LfsVwy2Q2B5bvpQ1HU7zCAczYob

  3. Great Ape - X: @Greatape42069E - Wallet: DBpLvNcR1Zj8B6dKJp4n3XEAT4FmRxbnJb

(back to top)