Settings

Blockchain
Network
Unit
Language
Theme
Sound New Block

Transaction

c0932b2b9a0e8faef8a6cbbea871f24f71bb57052d8ee62086053a5b9822e55f
Timestamp (utc)
2021-04-28 23:20:52
Fee Paid
0.00001333 BSV
(
0.09973716 BSV
-
0.09972383 BSV
)
Fee Rate
500.3 sat/KB
Version
1
Confirmations
304,972
Size Stats
2,664 B

4 Outputs

Total Output:
0.09972383 BSV
  • jrunMM {"in":0,"ref":["native://Jig"],"out":["98adaff9ca85c2348780242dbcd41056cbc339406d8fde14b422c19e51f25606","e35f56445c1917ad173cbe9d0a36b1b41bca860da9afae2831d427a52e099953"],"del":[],"cre":["mzXGPBW15L2tR8sFwfkuM6os6UwUkvspRw","mzXGPBW15L2tR8sFwfkuM6os6UwUkvspRw"],"exec":[{"op":"DEPLOY","data":["class Souvenirs extends Jig {\n init(no, image, owner) {\n const minting = caller === this.constructor;\n if (!minting) throw new Error('Must create using mint()');\n this.sender = caller && caller.owner ? caller.owner : null;\n expect(image).toBeInstanceOf(B);\n this.no = no;\n this.image = image;\n if (owner) this.owner = owner;\n }\n\n static mint(no, image, owner) {\n return new this(no, image, owner);\n }\n\n send(to) {\n this.sender = this.owner;\n this.owner = to;\n }\n\n}",{"deps":{"Jig":{"$jig":0},"OrderLock":{"$jig":2}},"metadata":{"emoji":"👨🌾"}},"class OrderLock { constructor(address, satoshis) { if (typeof address !== \"string\" || address.length < 27) { throw new TypeError(\"Invalid address\"); } if (typeof satoshis !== \"number\" || !Number.isInteger(satoshis)) { throw new Error(\"Invalid satoshis\"); } if (satoshis > Number.MAX_SAFE_INTEGER) { throw new Error(\"Invalid. Max: \" + Number.MAX_SAFE_INTEGER); } if (satoshis < 546) { throw new Error(\"Dust\"); } this.address = address; this.satoshis = satoshis; } script() { const output = this.serializeOutput(this.address, this.satoshis); const hashOutput = this.sha256sha256(output); return ( OrderLock.scriptTemplate.slice(0, 2) + hashOutput + OrderLock.scriptTemplate.slice(66) ); } serializeOutput(address, satoshis) { const satoshisHex = this.serializeSatoshis(satoshis); const satoshisHexBytes = Hex.stringToBytes(satoshisHex); const outputScriptBytes = Hex.stringToBytes(this.getP2PKHScript(address)); const lengthBytes = [25]; return satoshisHexBytes.concat(lengthBytes, outputScriptBytes); } serializeSatoshis(satoshis) { let numberHex = (\"0000000000000000\" + satoshis.toString(16)).slice(-16); return numberHex .match(/[a-fA-F0-9]{2}/g) .reverse() .join(\"\"); } getP2PKHScript(address) { const decoded = Base58.decode(address); const hex = Hex.bytesToString(decoded); return asm(`OP_DUP OP_HASH160 ${hex} OP_EQUALVERIFY OP_CHECKSIG`); } sha256sha256(output) { return Hex.bytesToString(sha256(sha256(output))); } domain() { return 0; } }",{"deps":{}}]}]}
    https://whatsonchain.com/tx/c0932b2b9a0e8faef8a6cbbea871f24f71bb57052d8ee62086053a5b9822e55f