DERO HE BlockChain Explorer(v1) Mainnet

hosted on

DERO Mining Node

Tx hash: 9b45f8df13bb861a39800399e131c60504e89d2e64b1e23877f7670d0257b7c2 Type SC

Block: 1ac23c12bdfe601aae3dfdb9063dab46f4990cac8620eaf87e4641a03da84657 (VALID)
SCID current reserves
SCID Amount(in atomic units)
0000000000000000000000000000000000000000000000000000000000000000 0
SCID string variables
key value
C 2f2f2053696c6b726f6164202853494c4b2920536d61727420436f6e74726163740a2f2f20546f74616c20537570706c793a2032312c3030302c3030302e30303030300a2f2f205072656d696e653a20322c3030302c3030302e30303030302028546f20436f6e7472616374204465706c6f796572290a2f2f204d696e696e673a20332e3037352053494c4b20657665727920363030207365636f6e647320283130206d696e7574657329207065722077616c6c65740a0a46756e6374696f6e20496e697469616c697a6528292055696e7436340a3130202053544f52452822746f6b656e4e616d65222c202273696c6b726f616422290a3230202053544f52452822746f6b656e53796d626f6c222c202253494c4b22290a3330202053544f52452822646563696d616c73222c2035290a3430202053544f524528226d6178537570706c79222c203231303030303030303030303029200a3530202053544f5245282263697263756c6174696e67537570706c79222c20323030303030303030303030290a3630202053544f524528226f776e6572222c205349474e45522829290a373020202f2f2041737369676e205072656d696e6520746f20746865206f776e6572277320616464726573730a3830202053544f5245282262616c616e63655f22202b205349474e455228292c20323030303030303030303030290a3930202052455455524e20300a456e642046756e6374696f6e0a0a2f2f204d696e74696e672066756e6374696f6e3a20616c6c6f777320616e79207573657220746f20636c61696d20332e3037352053494c4b206576657279203130206d696e757465730a46756e6374696f6e204d696e7428292055696e7436340a3130202044494d206164647220415320537472696e670a3230202044494d206c617374436c61696d2041532055696e7436340a3330202044494d206e6f772041532055696e7436340a3430202044494d207265776172642041532055696e7436340a3530202044494d2063757272656e74537570706c792041532055696e7436340a3630202044494d206c696d69742041532055696e7436340a0a373020205345542061646472203d205349474e455228290a38302020534554206e6f77203d20424c4f434b5f54494d455354414d5028290a3930202053455420726577617264203d20333037353030202f2f20332e3037352077697468203520646563696d616c730a31303020534554206c696d6974203d204c4f414428226d6178537570706c7922290a313130205345542063757272656e74537570706c79203d204c4f4144282263697263756c6174696e67537570706c7922290a0a2f2f20436865636b206966204d617820537570706c7920697320726561636865640a3132302049462063757272656e74537570706c79202b20726577617264203e206c696d6974205448454e20474f544f203530300a0a2f2f2054696d65204c6f636b204c6f6769633a20436865636b20696620363030207365636f6e647320283130206d696e73292068617665207061737365642073696e6365206c617374206d696e740a3133302049462045584953545328226c6173745f6d696e745f22202b206164647229205448454e20474f544f2031353020454c534520474f544f203230300a31353020534554206c617374436c61696d203d204c4f414428226c6173745f6d696e745f22202b2061646472290a313630204946206e6f77202d206c617374436c61696d203c20363030205448454e20474f544f203530300a0a2f2f20557064617465204c65646765720a3230302053544f5245282262616c616e63655f22202b20616464722c204c4f4144282262616c616e63655f22202b206164647229202b20726577617264290a3231302053544f5245282263697263756c6174696e67537570706c79222c2063757272656e74537570706c79202b20726577617264290a3232302053544f524528226c6173745f6d696e745f22202b20616464722c206e6f77290a0a2f2f2054726967676572204173736574205472616e7366657220746f2057616c6c65740a3233302053454e445f41535345545f544f5f4144445245535328616464722c207265776172642c20534349442829290a3234302052455455524e20300a0a3530302052455455524e2031202f2f205265766572742069662074696d652d6c6f636b20616374697665206f7220737570706c792066756c6c0a456e642046756e6374696f6e0a0a2f2f205374616e64617264205472616e736665722046756e6374696f6e0a46756e6374696f6e205472616e7366657228746f20537472696e672c20616d6f756e742055696e743634292055696e7436340a3130202044494d2073656e64657242616c616e63652041532055696e7436340a323020205345542073656e64657242616c616e6365203d204c4f4144282262616c616e63655f22202b205349474e45522829290a3330202049462073656e64657242616c616e6365203c20616d6f756e74205448454e20474f544f203130300a3430202053544f5245282262616c616e63655f22202b205349474e455228292c2073656e64657242616c616e6365202d20616d6f756e74290a3530202053544f5245282262616c616e63655f22202b20746f2c204c4f4144282262616c616e63655f22202b20746f29202b20616d6f756e74290a3630202053454e445f41535345545f544f5f4144445245535328746f2c20616d6f756e742c20534349442829290a3730202052455455524e20300a3130302052455455524e20310a456e642046756e6374696f6e0a0a2f2f204275726e2046756e6374696f6e3a205065726d616e656e746c792072656d6f76657320746f6b656e732066726f6d2063697263756c6174696f6e0a46756e6374696f6e204275726e28616d6f756e742055696e743634292055696e7436340a3130202044494d2073656e64657242616c616e63652041532055696e7436340a323020205345542073656e64657242616c616e6365203d204c4f4144282262616c616e63655f22202b205349474e45522829290a3330202049462073656e64657242616c616e6365203c20616d6f756e74205448454e20474f544f203130300a3430202053544f5245282262616c616e63655f22202b205349474e455228292c2073656e64657242616c616e6365202d20616d6f756e74290a3530202053544f5245282263697263756c6174696e67537570706c79222c204c4f4144282263697263756c6174696e67537570706c792229202d20616d6f756e74290a2f2f20546f6b656e7320617265206275726e65642062792064656372656173696e67207468652073656e6465722062616c616e636520616e6420737570706c7920776974686f7574206120726563697069656e740a3630202052455455524e20300a3130302052455455524e20310a456e642046756e6374696f6e
balance_ ����zיZ��uҢ~1kh���z�D��  2e+11
circulatingSupply 2e+11
decimals 5
maxSupply 2.1e+12
owner 09d8c5dad57ad7995a88fa75d2a27e31126b68c1f5d47a0edd4401c911810c0501
tokenName 73696c6b726f6164
tokenSymbol 53494c4b
SCID uint64 variables
key value
built BLID : 0eaa99bab4b243f202c5ec8e23d30a9427002a93812a8b603c9a6aee35136230
Tx RootHash: 1baa16ba3e7664a252bab3652f6f1badd69e1bb761042301cdb36a5322edacf8 built height : 7032676
Timestamp: 1778555949327 Timestamp [UTC]: 2026-05-12 05:19:09 Age [y:d:h:m:s]: 3:45:54.507
Block: 7032681 Fee: 0.03945 Tx size: 4.159 kB
Tx version: 1 No of confirmations: 730 Signature type: DERO_HOMOMORPHIC
Extra:
DERO : 2 inputs/outputs (RING size) Fees 0.03945 Deposited to SC 0.00000
Sender : dero1qyya33w664ad0x263ra8t54z0cc3y6mgc86ag7swm4zqrjg3syxq2qgjyr8j4
address
dero1qyya33w664ad0x263ra8t54z0cc3y6mgc86ag7swm4zqrjg3syxq2qgjyr8j4
dero1qyjpdu9ufvg4vp5ftuayunylneaum6e66lu98zftztj2en2stqergqgx2kgfs
SC Balance: 0.00000 DERO
SC CODE:
  // Silkroad (SILK) Smart Contract
// Total Supply: 21,000,000.00000
// Premine: 2,000,000.00000 (To Contract Deployer)
// Mining: 3.075 SILK every 600 seconds (10 minutes) per wallet

Function Initialize() Uint64
10  STORE("tokenName", "silkroad")
20  STORE("tokenSymbol", "SILK")
30  STORE("decimals", 5)
40  STORE("maxSupply", 2100000000000) 
50  STORE("circulatingSupply", 200000000000)
60  STORE("owner", SIGNER())
70  // Assign Premine to the owner's address
80  STORE("balance_" + SIGNER(), 200000000000)
90  RETURN 0
End Function

// Minting function: allows any user to claim 3.075 SILK every 10 minutes
Function Mint() Uint64
10  DIM addr AS String
20  DIM lastClaim AS Uint64
30  DIM now AS Uint64
40  DIM reward AS Uint64
50  DIM currentSupply AS Uint64
60  DIM limit AS Uint64

70  SET addr = SIGNER()
80  SET now = BLOCK_TIMESTAMP()
90  SET reward = 307500 // 3.075 with 5 decimals
100 SET limit = LOAD("maxSupply")
110 SET currentSupply = LOAD("circulatingSupply")

// Check if Max Supply is reached
120 IF currentSupply + reward > limit THEN GOTO 500

// Time Lock Logic: Check if 600 seconds (10 mins) have passed since last mint
130 IF EXISTS("last_mint_" + addr) THEN GOTO 150 ELSE GOTO 200
150 SET lastClaim = LOAD("last_mint_" + addr)
160 IF now - lastClaim < 600 THEN GOTO 500

// Update Ledger
200 STORE("balance_" + addr, LOAD("balance_" + addr) + reward)
210 STORE("circulatingSupply", currentSupply + reward)
220 STORE("last_mint_" + addr, now)

// Trigger Asset Transfer to Wallet
230 SEND_ASSET_TO_ADDRESS(addr, reward, SCID())
240 RETURN 0

500 RETURN 1 // Revert if time-lock active or supply full
End Function

// Standard Transfer Function
Function Transfer(to String, amount Uint64) Uint64
10  DIM senderBalance AS Uint64
20  SET senderBalance = LOAD("balance_" + SIGNER())
30  IF senderBalance < amount THEN GOTO 100
40  STORE("balance_" + SIGNER(), senderBalance - amount)
50  STORE("balance_" + to, LOAD("balance_" + to) + amount)
60  SEND_ASSET_TO_ADDRESS(to, amount, SCID())
70  RETURN 0
100 RETURN 1
End Function

// Burn Function: Permanently removes tokens from circulation
Function Burn(amount Uint64) Uint64
10  DIM senderBalance AS Uint64
20  SET senderBalance = LOAD("balance_" + SIGNER())
30  IF senderBalance < amount THEN GOTO 100
40  STORE("balance_" + SIGNER(), senderBalance - amount)
50  STORE("circulatingSupply", LOAD("circulatingSupply") - amount)
// Tokens are burned by decreasing the sender balance and supply without a recipient
60  RETURN 0
100 RETURN 1
End Function
SC Arguments: [Name:SC_ACTION Type:uint64 Value:'1' Name:SC_CODE Type:string Value:'// Silkroad (SILK) Smart Contract // Total Supply: 21,000,000.00000 // Premine: 2,000,000.00000 (To Contract Deployer) // Mining: 3.075 SILK every 600 seconds (10 minutes) per wallet Function Initialize() Uint64 10 STORE("tokenName", "silkroad") 20 STORE("tokenSymbol", "SILK") 30 STORE("decimals", 5) 40 STORE("maxSupply", 2100000000000) 50 STORE("circulatingSupply", 200000000000) 60 STORE("owner", SIGNER()) 70 // Assign Premine to the owner's address 80 STORE("balance_" + SIGNER(), 200000000000) 90 RETURN 0 End Function // Minting function: allows any user to claim 3.075 SILK every 10 minutes Function Mint() Uint64 10 DIM addr AS String 20 DIM lastClaim AS Uint64 30 DIM now AS Uint64 40 DIM reward AS Uint64 50 DIM currentSupply AS Uint64 60 DIM limit AS Uint64 70 SET addr = SIGNER() 80 SET now = BLOCK_TIMESTAMP() 90 SET reward = 307500 // 3.075 with 5 decimals 100 SET limit = LOAD("maxSupply") 110 SET currentSupply = LOAD("circulatingSupply") // Check if Max Supply is reached 120 IF currentSupply + reward > limit THEN GOTO 500 // Time Lock Logic: Check if 600 seconds (10 mins) have passed since last mint 130 IF EXISTS("last_mint_" + addr) THEN GOTO 150 ELSE GOTO 200 150 SET lastClaim = LOAD("last_mint_" + addr) 160 IF now - lastClaim < 600 THEN GOTO 500 // Update Ledger 200 STORE("balance_" + addr, LOAD("balance_" + addr) + reward) 210 STORE("circulatingSupply", currentSupply + reward) 220 STORE("last_mint_" + addr, now) // Trigger Asset Transfer to Wallet 230 SEND_ASSET_TO_ADDRESS(addr, reward, SCID()) 240 RETURN 0 500 RETURN 1 // Revert if time-lock active or supply full End Function // Standard Transfer Function Function Transfer(to String, amount Uint64) Uint64 10 DIM senderBalance AS Uint64 20 SET senderBalance = LOAD("balance_" + SIGNER()) 30 IF senderBalance < amount THEN GOTO 100 40 STORE("balance_" + SIGNER(), senderBalance - amount) 50 STORE("balance_" + to, LOAD("balance_" + to) + amount) 60 SEND_ASSET_TO_ADDRESS(to, amount, SCID()) 70 RETURN 0 100 RETURN 1 End Function // Burn Function: Permanently removes tokens from circulation Function Burn(amount Uint64) Uint64 10 DIM senderBalance AS Uint64 20 SET senderBalance = LOAD("balance_" + SIGNER()) 30 IF senderBalance < amount THEN GOTO 100 40 STORE("balance_" + SIGNER(), senderBalance - amount) 50 STORE("circulatingSupply", LOAD("circulatingSupply") - amount) // Tokens are burned by decreasing the sender balance and supply without a recipient 60 RETURN 0 100 RETURN 1 End Function']


Prove to someone that you have sent them DERO in this transaction

proof can be obtained using wallet command in dero-wallet-cli or from the statement
Note: proof is sent to the server, as the calculations are done on the server side


TX hex bytes
0100000500e49ead030eaa99bab4b243f202c5ec8e23d30a9427002a93812a8b603c9a6aee3513623001000000000000000000000000000000000000000000000000000000000000000000012844099d1a879a0a1e4c2962fde217f8b32cccb3ba8ea8cba4340a1680584b1600f016f046490d7b373b4b7159223eb81ced48c77036f031cc1f2165f113d94dd5847622a4f465327b095030d8bf592b080508151e3e613589cc50f721f612d46b9928d50b3deb4c00772440748d3995ec6ed7f5147fe29deb17acc52218f2f5a03a74e7bef33f0e4599971150e06309bf0105e91e230b08deaf86b750ca39beee54d987c191a90b37777306233c8ca404a562bfb5005dd06b37ba3271b5771604b9389347a8c04a31632f1fdb97e9ad82c94b997b923859d36032dfa2dec210000b7f58ac24c37f550354d5f82493a5899be07f817860ac0247ea825eacada8d9001baa16ba3e7664a252bab3652f6f1badd69e1bb761042301cdb36a5322edacf8f613a26853435f434f4445537909dd2f2f2053696c6b726f6164202853494c4b2920536d61727420436f6e74726163740a2f2f20546f74616c20537570706c793a2032312c3030302c3030302e30303030300a2f2f205072656d696e653a20322c3030302c3030302e30303030302028546f20436f6e7472616374204465706c6f796572290a2f2f204d696e696e673a20332e3037352053494c4b20657665727920363030207365636f6e647320283130206d696e7574657329207065722077616c6c65740a0a46756e6374696f6e20496e697469616c697a6528292055696e7436340a3130202053544f52452822746f6b656e4e616d65222c202273696c6b726f616422290a3230202053544f52452822746f6b656e53796d626f6c222c202253494c4b22290a3330202053544f52452822646563696d616c73222c2035290a3430202053544f524528226d6178537570706c79222c203231303030303030303030303029200a3530202053544f5245282263697263756c6174696e67537570706c79222c20323030303030303030303030290a3630202053544f524528226f776e6572222c205349474e45522829290a373020202f2f2041737369676e205072656d696e6520746f20746865206f776e6572277320616464726573730a3830202053544f5245282262616c616e63655f22202b205349474e455228292c20323030303030303030303030290a3930202052455455524e20300a456e642046756e6374696f6e0a0a2f2f204d696e74696e672066756e6374696f6e3a20616c6c6f777320616e79207573657220746f20636c61696d20332e3037352053494c4b206576657279203130206d696e757465730a46756e6374696f6e204d696e7428292055696e7436340a3130202044494d206164647220415320537472696e670a3230202044494d206c617374436c61696d2041532055696e7436340a3330202044494d206e6f772041532055696e7436340a3430202044494d207265776172642041532055696e7436340a3530202044494d2063757272656e74537570706c792041532055696e7436340a3630202044494d206c696d69742041532055696e7436340a0a373020205345542061646472203d205349474e455228290a38302020534554206e6f77203d20424c4f434b5f54494d455354414d5028290a3930202053455420726577617264203d20333037353030202f2f20332e3037352077697468203520646563696d616c730a31303020534554206c696d6974203d204c4f414428226d6178537570706c7922290a313130205345542063757272656e74537570706c79203d204c4f4144282263697263756c6174696e67537570706c7922290a0a2f2f20436865636b206966204d617820537570706c7920697320726561636865640a3132302049462063757272656e74537570706c79202b20726577617264203e206c696d6974205448454e20474f544f203530300a0a2f2f2054696d65204c6f636b204c6f6769633a20436865636b20696620363030207365636f6e647320283130206d696e73292068617665207061737365642073696e6365206c617374206d696e740a3133302049462045584953545328226c6173745f6d696e745f22202b206164647229205448454e20474f544f2031353020454c534520474f544f203230300a31353020534554206c617374436c61696d203d204c4f414428226c6173745f6d696e745f22202b2061646472290a313630204946206e6f77202d206c617374436c61696d203c20363030205448454e20474f544f203530300a0a2f2f20557064617465204c65646765720a3230302053544f5245282262616c616e63655f22202b20616464722c204c4f4144282262616c616e63655f22202b206164647229202b20726577617264290a3231302053544f5245282263697263756c6174696e67537570706c79222c2063757272656e74537570706c79202b20726577617264290a3232302053544f524528226c6173745f6d696e745f22202b20616464722c206e6f77290a0a2f2f2054726967676572204173736574205472616e7366657220746f2057616c6c65740a3233302053454e445f41535345545f544f5f4144445245535328616464722c207265776172642c20534349442829290a3234302052455455524e20300a0a3530302052455455524e2031202f2f205265766572742069662074696d652d6c6f636b20616374697665206f7220737570706c792066756c6c0a456e642046756e6374696f6e0a0a2f2f205374616e64617264205472616e736665722046756e6374696f6e0a46756e6374696f6e205472616e7366657228746f20537472696e672c20616d6f756e742055696e743634292055696e7436340a3130202044494d2073656e64657242616c616e63652041532055696e7436340a323020205345542073656e64657242616c616e6365203d204c4f4144282262616c616e63655f22202b205349474e45522829290a3330202049462073656e64657242616c616e6365203c20616d6f756e74205448454e20474f544f203130300a3430202053544f5245282262616c616e63655f22202b205349474e455228292c2073656e64657242616c616e6365202d20616d6f756e74290a3530202053544f5245282262616c616e63655f22202b20746f2c204c4f4144282262616c616e63655f22202b20746f29202b20616d6f756e74290a3630202053454e445f41535345545f544f5f4144445245535328746f2c20616d6f756e742c20534349442829290a3730202052455455524e20300a3130302052455455524e20310a456e642046756e6374696f6e0a0a2f2f204275726e2046756e6374696f6e3a205065726d616e656e746c792072656d6f76657320746f6b656e732066726f6d2063697263756c6174696f6e0a46756e6374696f6e204275726e28616d6f756e742055696e743634292055696e7436340a3130202044494d2073656e64657242616c616e63652041532055696e7436340a323020205345542073656e64657242616c616e6365203d204c4f4144282262616c616e63655f22202b205349474e45522829290a3330202049462073656e64657242616c616e6365203c20616d6f756e74205448454e20474f544f203130300a3430202053544f5245282262616c616e63655f22202b205349474e455228292c2073656e64657242616c616e6365202d20616d6f756e74290a3530202053544f5245282263697263756c6174696e67537570706c79222c204c4f4144282263697263756c6174696e67537570706c792229202d20616d6f756e74290a2f2f20546f6b656e7320617265206275726e65642062792064656372656173696e67207468652073656e6465722062616c616e636520616e6420737570706c7920776974686f7574206120726563697069656e740a3630202052455455524e20300a3130302052455455524e20310a456e642046756e6374696f6e6a53435f414354494f4e55012d85ae26c2646047a147701b1a2b39ff1eea97dcb75ddb1d50194f5e1f2a00d20002a6975a0fe93306902520c7b56a7d7553ecb2ea4f8a4efdbbea84c87d24cfbf011949c12c224c32b577d25e7f598f35192b0314ccea7cdcd0c6f7adf169ce5c65001ebc9e4a3684ec846b8a09edae59aac852697eaf158918974bc94b88608820ff0117041a670f0a9443d08c604d538b2b5f99e01345c8e08c6cea3598699501a0cd011558905f356e72b780ee517f135207d02e72eed5ea63247d0b6a1414aabb29cb01069612c7a81cf9dac9bd6dc2b42b0871d923eadc0a235cdfe763f29d75c192bd0009f3c6d7dc4712507ac1e1394b27ace792aec395f614934ba18e8f2d5a874a9e0029d77483cec8800c9184c37af89175589c0d4572b23837edc6961110091c03f40117f8cf61ea449e26aaf10210725aec54dd08f8d87efc491f4335b5986422f39f0127138d180b63f30ef308e983f3d13bb9766a2d2fb8a1d770152f8bdabdfa2c7700250898982e7f9dad5c434ac8b93bf6fc5f9da8bc2b4f12a76c0947f8dadab146011ba16a2d2aae625cf7956d00226458200af8d3f423c177143f2d12d7493a267a0000000000000000000000000000000000000000000000000000000000000000001e859299febbd1b86a3abbc44f95573e0929af11f854324440fe7666ed8495870712447c314db7a84964def5ef2494788f7b7ef82befdcc7169d499cf537c1a62d60a59afae534f26435422c22ab8398fb3bda23ca777fab9ca96fa1787d94ef011d16c6d4187c19d1368969cb31689bd39dcac0d1b100342a182fd5749a11f2620118e88a2a924f4d7c907b3d4983cf6d7ca1ea4ef678a7a3cd108e91155dbafd2615949d55967ed3c97bf7f0fdc4a8acb1765cff6687495a8f0b237dd8d0479b8d2b3e8b216134268fba863611dd90f5c6902bfa0ddd763f6f2591e5370a601c851a8fcf7f37701e658a56aee2f72a3fd3691de8ef10e38897701b68f2350559a50259f48556628ea4264f2b6c9b8d077711c8e50046f29708278cea78458cbb5e0166c63343f84a8f6946a34d69a6387cc875915e933c92331df8bc9a2b2247782b5226624592af2b16f02a99b01f99d2cb691345fc553024cb816203fb9ac46515121578e71cb0463becda8609c7f224d97b0f83394263a3b87b243388f019d418d108881e60589dba5819b14cfbd44fc70c461fa0c4b976d6890e475bfbeba60f60561fa890e3d026d4f92b9e3fb06b6248fdfad5548a7cc88255129e7cac3c01276cee36d6aac9effd2dfb0a73b21a4466fa642dcb7c57d35bd899394a2b19230001af3377e44f6285e53fd647eb7966b08c3fb1df5aa284bda1f246dd0f29eb8e0117adef77257439808c59e84d5827f4bab21715926929502431c4da3604f9673900186e90b6ff41df5bf5d013ab60e8b3506a0444425c9269d8365a6e1b438a5f1b001ea18e305a205da7abce1e2bc4386526bf25105debab336c863d5ea62fbe83130001f2fa18b9af511f4233e7a9293a3c0675544fdea7aad06b6b70b1eb934cfa38011d4dddac8e27a98a11a741a945a03cc499909c156f846ea578e693721e5d0f3d012c7bda5b736aa6bfdb1d6226c82956506e2886ea43a70a03207058eae76b7f3501305cb5626d6c6950b2ae26675702f50606fffcc386ce347bee522ef5bb4babd5001f84b25032df2d706d533510c799dc384d5b4a7f5abfb0ad56f47ed1fffcd2a40008a4f3bb6e8dbf248e15dd9814c2938a2783b38ca4252ffe81ff2d74d231ff570103eb3737bbf1998cef091cbc036443e46adf27b82f35a3685746579231e5fcd80005fc3972f77021eb5d2468dcbb8333beb92a4f13932ea0c32b77a2ca287ebb6b01
DERO explorer source code | explorer version (api): under development (1.0) | dero version: golang pre-alpha | Copyright 2017-2022 Dero Project