-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathInscribe
139 lines (92 loc) · 4.05 KB
/
Inscribe
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
Setup:
Open up visual studio code.
Open the folder.
Open your terminal.
1. Install dependencies:
npm install
2. Create a .env file with your node information:
Here is the template to us.
NODE_RPC_URL=https://go.getblock.io/(PUT YOUR BLOCK.IO DOGECOIN ENDPOINT HERE MFER!!!)
TESTNET=false
FEE_PER_KB=500000000
After creating the .env file, make sure to save. So hit File, than save.
Than you need to create a new wallet, by generating with a line of code.
3. Funding your new wallet.
Open up your terminal and make sure you are in the directory for the doginals protocol.
If your not and get an error, you can go into that directory by writing this line of code:
cd (Directory) enter
Generate the new wallet by entering this line of code into the terminal:
node . wallet new
Than hit enter, and notice to the left, a new wallet has been generated as a "wallet.json" file.
That is a legit, dogecoin wallet address, with a private key and everything, no seed phrase.
Click on that wallet.json file, and take note of the private key. You can import that private key into your doge labs wallet to view.
Use this wallet as your inscribing wallet ONLY, not for holding any doginals, or sending anything, this is straight up INSCRIBING!
Now let's fund the new wallet that we just generated.
Send doge to that wallet and than open terminal, and enter this line of code/command.
node . wallet sync
If you are minting a lot, you can split up your UTXOs:
node . wallet split <count>
When you are done minting, send the funds back:
node . wallet send <address> <optional amount>
4. Minting from your new wallet!
Congrats shibe. You generated a brand new dogecoin inscription wallet, so lets get inscribing.
From file:
After finding the file you want to inscribe, right click it, and take note of the file pathname, you must
copy the pathname, exactly as it is, in order to inscribe. it should look like this:
node . mint DSV12KPb8m5b6YtfmqY89K6YqvdVwMYDPn dog.jpeg
node . mint DSV12KPb8m5b6YtfmqY89K6YqvdVwMYDPn "text/plain;charset=utf8" 576f6f6621
node . mint <address> <path>
Note: Please use a fresh wallet to mint to with nothing else in it until proper wallet for doginals support comes. You can get a paper wallet here:
https://www.fujicoin.org/wallet_generator?currency=Dogecoin
5. Viewing Your inscription:
Start the server:
node . server
And open your browser to:
http://localhost:3000/tx/15f3b73df7e5c072becb1d84191843ba080734805addfccb650929719080f62e
Protocol
The doginals protocol allows any size data to be inscribed onto subwoofers.
An inscription is defined as a series of push datas:
"ord"
OP_1
"text/plain; charset=utf8"
OP_0
"Woof!"
For doginals, we introduce a couple extensions. First, content may spread across multiple parts:
"ord"
OP_2
"text/plain; charset=utf8"
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:
"ord"
OP_2
"text/plain; charset=utf8"
OP_1
"Woof and "
Transaction 2
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.
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=8
rpcpassword=bit
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=8
NODE_RPC_PASS=bit
TESTNET=false
I'm getting "insufficient priority" errors when minting
The miner fee is too low. You can increase it up by putting FEE_PER_KB=300000000 in your .env file or just wait it out.
The default is 100000000 but spikes up when demand is high.