{"_id":"@aaronbassett/midnight-local-devnet","_rev":"10-7597cdf705a6abd2da37617ccae62127","name":"@aaronbassett/midnight-local-devnet","dist-tags":{"latest":"0.6.0"},"versions":{"0.1.0":{"name":"@aaronbassett/midnight-local-devnet","version":"0.1.0","keywords":["midnight","blockchain","devnet","mcp","development"],"license":"MIT","_id":"@aaronbassett/midnight-local-devnet@0.1.0","maintainers":[{"name":"aaronbassett","email":"aaronbassett@gmail.com"}],"homepage":"https://github.com/devrelaicom/midnight-local-devnet#readme","bugs":{"url":"https://github.com/devrelaicom/midnight-local-devnet/issues"},"bin":{"midnight-devnet-mcp":"dist/index.js","midnight-local-devnet":"dist/cli.js"},"dist":{"shasum":"1cfb3430a42313326325d66cb0c0d6548dc01604","tarball":"https://registry.npmjs.org/@aaronbassett/midnight-local-devnet/-/midnight-local-devnet-0.1.0.tgz","fileCount":71,"integrity":"sha512-KRrJmUZz7TebxY75jeo5P0iKPtzxoI2/722wgklk7SIegLGMheOQLQGNLV4DxeAY5Mgc/Xo7clSfPzUZ9cAwug==","signatures":[{"sig":"MEUCIQCCLbmmAquqZ+z09bJVt/1vnVwtSLv2LNo6d/dB46UIfgIgOljPI4TiyMlFzDQRZ6zIfX8weU0VIRf2JwKsrepvzU8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aaronbassett%2fmidnight-local-devnet@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":119330},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"376168b80903b1a36ff28eaff9d09429345560df","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","start:cli":"node --enable-source-maps dist/cli.js","start:mcp":"node --enable-source-maps dist/index.js","test:watch":"vitest"},"_npmUser":{"name":"aaronbassett","email":"aaronbassett@gmail.com"},"repository":{"url":"git+https://github.com/devrelaicom/midnight-local-devnet.git","type":"git"},"_npmVersion":"10.9.4","description":"Local Midnight development network manager — CLI and MCP server","directories":{},"resolutions":{"@midnight-ntwrk/ledger-v7":"7.0.0","@midnight-ntwrk/midnight-js-network-id":"3.1.0"},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.18.3","zod":"^3.24.0","pino":"^10.1.0","rxjs":"^7.8.1","commander":"^13.1.0","pino-pretty":"^13.1.3","@scure/bip39":"^2.0.1","@midnight-ntwrk/ledger-v7":"7.0.0","@modelcontextprotocol/sdk":"^1.12.1","@midnight-ntwrk/wallet-sdk-hd":"3.0.0","@midnight-ntwrk/wallet-sdk-facade":"1.0.0","@midnight-ntwrk/wallet-sdk-shielded":"1.0.0","@midnight-ntwrk/midnight-js-network-id":"3.1.0","@midnight-ntwrk/wallet-sdk-dust-wallet":"1.0.0","@midnight-ntwrk/wallet-sdk-abstractions":"1.0.0","@midnight-ntwrk/wallet-sdk-address-format":"3.0.0","@midnight-ntwrk/wallet-sdk-unshielded-wallet":"1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.1.0","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/midnight-local-devnet_0.1.0_1772209122485_0.4879870246673397","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@aaronbassett/midnight-local-devnet","version":"0.1.1","keywords":["midnight","blockchain","devnet","mcp","development"],"license":"MIT","_id":"@aaronbassett/midnight-local-devnet@0.1.1","maintainers":[{"name":"aaronbassett","email":"aaronbassett@gmail.com"}],"homepage":"https://github.com/devrelaicom/midnight-local-devnet#readme","bugs":{"url":"https://github.com/devrelaicom/midnight-local-devnet/issues"},"bin":{"midnight-devnet-mcp":"dist/index.js","midnight-local-devnet":"dist/cli.js"},"dist":{"shasum":"b37b377b560e47ec00552338891b81b98b25a191","tarball":"https://registry.npmjs.org/@aaronbassett/midnight-local-devnet/-/midnight-local-devnet-0.1.1.tgz","fileCount":71,"integrity":"sha512-Aq79fkApMu9mR/Lhgno3urXAmeElqVnvV/WAdK08kqTOBmcrEs1woe2jZmVvoabT5JezE6QBEFoIMIQktcLy3g==","signatures":[{"sig":"MEUCIHCqCNFLcFNTKZGLnTjGE6YoFbnUEAk1hxza7u6ZOCdIAiEA7XSLsVekzn+fhY05yNrYJPAJ1qcDn7BUOgWIUdIlSV8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aaronbassett%2fmidnight-local-devnet@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":120250},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"89d9e17db2f4afc1e37c80f91c0ebfc9925eef00","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","start:cli":"node --enable-source-maps dist/cli.js","start:mcp":"node --enable-source-maps dist/index.js","test:watch":"vitest"},"_npmUser":{"name":"aaronbassett","email":"aaronbassett@gmail.com"},"repository":{"url":"git+https://github.com/devrelaicom/midnight-local-devnet.git","type":"git"},"_npmVersion":"10.9.4","description":"Local Midnight development network manager — CLI and MCP server","directories":{},"resolutions":{"@midnight-ntwrk/ledger-v7":"7.0.0","@midnight-ntwrk/midnight-js-network-id":"3.1.0"},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.18.3","zod":"^3.24.0","pino":"^10.1.0","rxjs":"^7.8.1","commander":"^13.1.0","pino-pretty":"^13.1.3","@scure/bip39":"^2.0.1","@midnight-ntwrk/ledger-v7":"7.0.0","@modelcontextprotocol/sdk":"^1.12.1","@midnight-ntwrk/wallet-sdk-hd":"3.0.0","@midnight-ntwrk/wallet-sdk-facade":"1.0.0","@midnight-ntwrk/wallet-sdk-shielded":"1.0.0","@midnight-ntwrk/midnight-js-network-id":"3.1.0","@midnight-ntwrk/wallet-sdk-dust-wallet":"1.0.0","@midnight-ntwrk/wallet-sdk-abstractions":"1.0.0","@midnight-ntwrk/wallet-sdk-address-format":"3.0.0","@midnight-ntwrk/wallet-sdk-unshielded-wallet":"1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.1.0","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/midnight-local-devnet_0.1.1_1772210450892_0.9010793330193352","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@aaronbassett/midnight-local-devnet","version":"0.1.2","keywords":["midnight","blockchain","devnet","mcp","development"],"license":"MIT","_id":"@aaronbassett/midnight-local-devnet@0.1.2","maintainers":[{"name":"aaronbassett","email":"aaronbassett@gmail.com"}],"homepage":"https://github.com/devrelaicom/midnight-local-devnet#readme","bugs":{"url":"https://github.com/devrelaicom/midnight-local-devnet/issues"},"bin":{"midnight-devnet-mcp":"dist/index.js","midnight-local-devnet":"dist/cli.js"},"dist":{"shasum":"71a33d9f76a76fb410d3048366239e0200ce1261","tarball":"https://registry.npmjs.org/@aaronbassett/midnight-local-devnet/-/midnight-local-devnet-0.1.2.tgz","fileCount":71,"integrity":"sha512-9U8sNP/gHX+vh04SDcxne/FTf8p+FGaz4olK31lAyX7s0hb4NaiHvdSzTGiTRl+OXv1oRJKq9OHeKdfUT+BTzg==","signatures":[{"sig":"MEUCIEN+OLFEIulUvRiML8ulzXkK+qYTUwYBZMDQVLqRwSKpAiEAuR6DB6uHUKV2lEpuK2Sv4bpxb85DeMbH6iACadM9EdM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aaronbassett%2fmidnight-local-devnet@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":127852},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"94e04081238e8eb88f496a9741efc06fd364355f","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","start:cli":"node --enable-source-maps dist/cli.js","start:mcp":"node --enable-source-maps dist/index.js","test:watch":"vitest"},"_npmUser":{"name":"aaronbassett","email":"aaronbassett@gmail.com"},"repository":{"url":"git+https://github.com/devrelaicom/midnight-local-devnet.git","type":"git"},"_npmVersion":"10.9.4","description":"Local Midnight development network manager — CLI and MCP server","directories":{},"resolutions":{"@midnight-ntwrk/ledger-v7":"7.0.0","@midnight-ntwrk/midnight-js-network-id":"3.1.0"},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.18.3","zod":"^3.24.0","pino":"^10.1.0","rxjs":"^7.8.1","commander":"^13.1.0","pino-pretty":"^13.1.3","@scure/bip39":"^2.0.1","@midnight-ntwrk/ledger-v7":"7.0.0","@modelcontextprotocol/sdk":"^1.12.1","@midnight-ntwrk/wallet-sdk-hd":"3.0.0","@midnight-ntwrk/wallet-sdk-facade":"1.0.0","@midnight-ntwrk/wallet-sdk-shielded":"1.0.0","@midnight-ntwrk/midnight-js-network-id":"3.1.0","@midnight-ntwrk/wallet-sdk-dust-wallet":"1.0.0","@midnight-ntwrk/wallet-sdk-abstractions":"1.0.0","@midnight-ntwrk/wallet-sdk-address-format":"3.0.0","@midnight-ntwrk/wallet-sdk-unshielded-wallet":"1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.1.0","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/midnight-local-devnet_0.1.2_1772235737439_0.99890540474567","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@aaronbassett/midnight-local-devnet","version":"0.2.1","keywords":["midnight","blockchain","devnet","mcp","development"],"license":"MIT","_id":"@aaronbassett/midnight-local-devnet@0.2.1","maintainers":[{"name":"aaronbassett","email":"aaronbassett@gmail.com"}],"homepage":"https://github.com/devrelaicom/midnight-local-devnet#readme","bugs":{"url":"https://github.com/devrelaicom/midnight-local-devnet/issues"},"bin":{"midnight-devnet-mcp":"dist/index.js","midnight-local-devnet":"dist/cli.js"},"dist":{"shasum":"98c31e460a09eeb9ec4bd0981b48a4ce509834d8","tarball":"https://registry.npmjs.org/@aaronbassett/midnight-local-devnet/-/midnight-local-devnet-0.2.1.tgz","fileCount":161,"integrity":"sha512-MkH3L4WwIUq/HUXkKvs6fscW+IzpRFQhG+8K5zwoTEMgqihs2x5hjSFIvOj1T+hoECHOqHJAXbuXHJUoPiJK8g==","signatures":[{"sig":"MEUCIFiysqf0xleDZqHEM+VJeldEmzQx3CrR2vagPmU5KfPtAiEA735+nLKd0wahwzz/5hC6HOOTtmOPiCeteBQh/DR6jUQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aaronbassett%2fmidnight-local-devnet@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":219385},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"654c38d301f03e29b6ce130a606e93aca9f55f21","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","start:cli":"node --enable-source-maps dist/cli.js","start:mcp":"node --enable-source-maps dist/index.js","test:watch":"vitest"},"_npmUser":{"name":"aaronbassett","email":"aaronbassett@gmail.com"},"repository":{"url":"git+https://github.com/devrelaicom/midnight-local-devnet.git","type":"git"},"_npmVersion":"10.9.4","description":"Local Midnight development network manager — CLI and MCP server","directories":{},"resolutions":{"@midnight-ntwrk/ledger-v7":"7.0.0","@midnight-ntwrk/midnight-js-network-id":"3.1.0"},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.18.3","ink":"^6.8.0","zod":"^3.24.0","pino":"^10.1.0","rxjs":"^7.8.1","react":"^19.2.4","commander":"^13.1.0","pino-pretty":"^13.1.3","@scure/bip39":"^2.0.1","@midnight-ntwrk/ledger-v7":"7.0.0","@modelcontextprotocol/sdk":"^1.12.1","@midnight-ntwrk/wallet-sdk-hd":"3.0.0","@midnight-ntwrk/wallet-sdk-facade":"1.0.0","@midnight-ntwrk/wallet-sdk-shielded":"1.0.0","@midnight-ntwrk/midnight-js-network-id":"3.1.0","@midnight-ntwrk/wallet-sdk-dust-wallet":"1.0.0","@midnight-ntwrk/wallet-sdk-abstractions":"1.0.0","@midnight-ntwrk/wallet-sdk-address-format":"3.0.0","@midnight-ntwrk/wallet-sdk-unshielded-wallet":"1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.1.0","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^22.0.0","@types/react":"^19.2.14","ink-testing-library":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/midnight-local-devnet_0.2.1_1772256816181_0.8021543044924333","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@aaronbassett/midnight-local-devnet","version":"0.3.0","keywords":["midnight","blockchain","devnet","mcp","development"],"license":"MIT","_id":"@aaronbassett/midnight-local-devnet@0.3.0","maintainers":[{"name":"aaronbassett","email":"aaronbassett@gmail.com"}],"homepage":"https://github.com/devrelaicom/midnight-local-devnet#readme","bugs":{"url":"https://github.com/devrelaicom/midnight-local-devnet/issues"},"bin":{"midnight-devnet-mcp":"dist/index.js","midnight-local-devnet":"dist/cli.js"},"dist":{"shasum":"6a5c74eebc53a21bd6c85a69eb920758ade3c121","tarball":"https://registry.npmjs.org/@aaronbassett/midnight-local-devnet/-/midnight-local-devnet-0.3.0.tgz","fileCount":95,"integrity":"sha512-tzWK+WkjKabXg7MayXN8hJzLHf8/dNWeAcJSItN7CAsxXGeahJ452jElnusJPmHFCDj/HSRIsKpSFf4lNZ4mMw==","signatures":[{"sig":"MEYCIQCwvMBi1eURiesMzI+xhChBjYiuKDDf1HzilNEkKpM2oAIhAIvjYYGDB1yYE4l6ar4MvOYW20dDSSEcIuXmV57OOj2f","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aaronbassett%2fmidnight-local-devnet@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":204219},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"8fc999d543bc0b8630fdaab4a7ce6027388a1526","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","start:cli":"node --enable-source-maps dist/cli.js","start:mcp":"node --enable-source-maps dist/index.js","test:watch":"vitest"},"_npmUser":{"name":"aaronbassett","email":"aaronbassett@gmail.com"},"repository":{"url":"git+https://github.com/devrelaicom/midnight-local-devnet.git","type":"git"},"_npmVersion":"10.9.4","description":"Local Midnight development network manager — CLI and MCP server","directories":{},"resolutions":{"@midnight-ntwrk/ledger-v7":"7.0.0","@midnight-ntwrk/midnight-js-network-id":"3.1.0"},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.18.3","zod":"^3.24.0","hono":"^4.12.3","open":"^11.0.0","pino":"^10.1.0","rxjs":"^7.8.1","commander":"^13.1.0","pino-pretty":"^13.1.3","@scure/bip39":"^2.0.1","@hono/node-server":"^1.19.9","@midnight-ntwrk/ledger-v7":"7.0.0","@modelcontextprotocol/sdk":"^1.12.1","@midnight-ntwrk/wallet-sdk-hd":"3.0.0","@midnight-ntwrk/wallet-sdk-facade":"1.0.0","@midnight-ntwrk/wallet-sdk-shielded":"1.0.0","@midnight-ntwrk/midnight-js-network-id":"3.1.0","@midnight-ntwrk/wallet-sdk-dust-wallet":"1.0.0","@midnight-ntwrk/wallet-sdk-abstractions":"1.0.0","@midnight-ntwrk/wallet-sdk-address-format":"3.0.0","@midnight-ntwrk/wallet-sdk-unshielded-wallet":"1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.1.0","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/midnight-local-devnet_0.3.0_1772262208532_0.7664426086660869","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@aaronbassett/midnight-local-devnet","version":"0.3.1","keywords":["midnight","blockchain","devnet","mcp","development"],"license":"MIT","_id":"@aaronbassett/midnight-local-devnet@0.3.1","maintainers":[{"name":"aaronbassett","email":"aaronbassett@gmail.com"}],"homepage":"https://github.com/devrelaicom/midnight-local-devnet#readme","bugs":{"url":"https://github.com/devrelaicom/midnight-local-devnet/issues"},"bin":{"midnight-devnet-mcp":"dist/index.js","midnight-local-devnet":"dist/cli.js"},"dist":{"shasum":"509e841d2256e13024e2a8173848fe2982f84ddf","tarball":"https://registry.npmjs.org/@aaronbassett/midnight-local-devnet/-/midnight-local-devnet-0.3.1.tgz","fileCount":95,"integrity":"sha512-9gmymuoU39GR8mY1JXRFOIVrXEU/Xfq1arB6UxOQ3AFJkgyLhAm6+4tTGd0KN70Hyeg9+6KEMs5zKPMauZlLFA==","signatures":[{"sig":"MEYCIQDsvQRAisI1FWUJ4pkpEKWoE4O1A8gWtvp5/l/9XTPHVAIhAI9hnXqOTDSowjywpgzdtHMF4KbOYKRfW7LDuwhrYp8H","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aaronbassett%2fmidnight-local-devnet@0.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":248602},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"38460fa119c25da741bf15e711bbb38cb62dc3ba","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","start:cli":"node --enable-source-maps dist/cli.js","start:mcp":"node --enable-source-maps dist/index.js","test:watch":"vitest"},"_npmUser":{"name":"aaronbassett","email":"aaronbassett@gmail.com"},"repository":{"url":"git+https://github.com/devrelaicom/midnight-local-devnet.git","type":"git"},"_npmVersion":"10.9.4","description":"Local Midnight development network manager — CLI and MCP server","directories":{},"resolutions":{"@midnight-ntwrk/ledger-v7":"7.0.0","@midnight-ntwrk/midnight-js-network-id":"3.1.0"},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.18.3","zod":"^3.24.0","hono":"^4.12.3","open":"^11.0.0","pino":"^10.1.0","rxjs":"^7.8.1","commander":"^13.1.0","pino-pretty":"^13.1.3","@scure/bip39":"^2.0.1","@hono/node-server":"^1.19.9","@midnight-ntwrk/ledger-v7":"7.0.0","@modelcontextprotocol/sdk":"^1.12.1","@midnight-ntwrk/wallet-sdk-hd":"3.0.0","@midnight-ntwrk/wallet-sdk-facade":"1.0.0","@midnight-ntwrk/wallet-sdk-shielded":"1.0.0","@midnight-ntwrk/midnight-js-network-id":"3.1.0","@midnight-ntwrk/wallet-sdk-dust-wallet":"1.0.0","@midnight-ntwrk/wallet-sdk-abstractions":"1.0.0","@midnight-ntwrk/wallet-sdk-address-format":"3.0.0","@midnight-ntwrk/wallet-sdk-unshielded-wallet":"1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.1.0","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/midnight-local-devnet_0.3.1_1772269442625_0.8520522552399943","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@aaronbassett/midnight-local-devnet","version":"0.4.0","keywords":["midnight","blockchain","devnet","mcp","development"],"license":"MIT","_id":"@aaronbassett/midnight-local-devnet@0.4.0","maintainers":[{"name":"aaronbassett","email":"aaronbassett@gmail.com"}],"homepage":"https://github.com/devrelaicom/midnight-local-devnet#readme","bugs":{"url":"https://github.com/devrelaicom/midnight-local-devnet/issues"},"bin":{"midnight-devnet-mcp":"dist/index.js","midnight-local-devnet":"dist/cli.js"},"dist":{"shasum":"dbff962646a6cc278da627dbfdfb510de93411d1","tarball":"https://registry.npmjs.org/@aaronbassett/midnight-local-devnet/-/midnight-local-devnet-0.4.0.tgz","fileCount":95,"integrity":"sha512-NcOjxJpPGaXt1md5G4K1k+/Gwr0drLXRGMPxTIhSz9js8to/BWRvmhFbYGt+hFie+BJTqiU7qRqNTAmuCMZS9A==","signatures":[{"sig":"MEUCIDA33EqRVOjgrZ2DdkC1XgHs+/wUQjYo54LVB2iTcKi8AiEAsskcgU2jL1Q/FX3uAIDtKsubJ6E5ScSaRR5rHBniVmo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aaronbassett%2fmidnight-local-devnet@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":267275},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"2db6024ef709a5684003eb19137d68ecb15d10da","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","start:cli":"node --enable-source-maps dist/cli.js","start:mcp":"node --enable-source-maps dist/index.js","test:watch":"vitest"},"_npmUser":{"name":"aaronbassett","email":"aaronbassett@gmail.com"},"repository":{"url":"git+https://github.com/devrelaicom/midnight-local-devnet.git","type":"git"},"_npmVersion":"10.9.4","description":"Local Midnight development network manager — CLI and MCP server","directories":{},"resolutions":{"@midnight-ntwrk/ledger-v7":"7.0.0","@midnight-ntwrk/midnight-js-network-id":"3.1.0"},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.18.3","zod":"^3.24.0","hono":"^4.12.3","open":"^11.0.0","pino":"^10.1.0","rxjs":"^7.8.1","commander":"^13.1.0","pino-pretty":"^13.1.3","@scure/bip39":"^2.0.1","@hono/node-server":"^1.19.9","@midnight-ntwrk/ledger-v7":"7.0.0","@modelcontextprotocol/sdk":"^1.12.1","@midnight-ntwrk/wallet-sdk-hd":"3.0.0","@midnight-ntwrk/wallet-sdk-facade":"1.0.0","@midnight-ntwrk/wallet-sdk-shielded":"1.0.0","@midnight-ntwrk/midnight-js-network-id":"3.1.0","@midnight-ntwrk/wallet-sdk-dust-wallet":"1.0.0","@midnight-ntwrk/wallet-sdk-abstractions":"1.0.0","@midnight-ntwrk/wallet-sdk-address-format":"3.0.0","@midnight-ntwrk/wallet-sdk-unshielded-wallet":"1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.1.0","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/midnight-local-devnet_0.4.0_1772283584393_0.4146200334579575","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@aaronbassett/midnight-local-devnet","version":"0.5.0","keywords":["midnight","blockchain","devnet","mcp","development"],"license":"MIT","_id":"@aaronbassett/midnight-local-devnet@0.5.0","maintainers":[{"name":"aaronbassett","email":"aaronbassett@gmail.com"}],"homepage":"https://github.com/devrelaicom/midnight-local-devnet#readme","bugs":{"url":"https://github.com/devrelaicom/midnight-local-devnet/issues"},"bin":{"midnight-devnet-mcp":"dist/index.js","midnight-local-devnet":"dist/cli.js"},"dist":{"shasum":"2fe1b4a0a1c6e83bb8a120794aec03d66cd15fba","tarball":"https://registry.npmjs.org/@aaronbassett/midnight-local-devnet/-/midnight-local-devnet-0.5.0.tgz","fileCount":95,"integrity":"sha512-jVXIi3zRKtwdMjs6bVPUzneaNcZeLfjuvvEkxeMUjYlGxXHIhI5mc6F5mywfOY44Qzx3VT235GiDXoTOXnyP4g==","signatures":[{"sig":"MEQCIA0/duU6HtpDFgeqR49MdtnY8x0pF63PKzldC5HzcKs6AiA0GboVgB6FDhy7Z5VZC2rd1GxNVUd6Y1tddzrziCSqYw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aaronbassett%2fmidnight-local-devnet@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":278681},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"dd40006c33dae7534bb1534e1a4385dbb30314de","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","start:cli":"node --enable-source-maps dist/cli.js","start:mcp":"node --enable-source-maps dist/index.js","test:watch":"vitest"},"_npmUser":{"name":"aaronbassett","email":"aaronbassett@gmail.com"},"repository":{"url":"git+https://github.com/devrelaicom/midnight-local-devnet.git","type":"git"},"_npmVersion":"10.9.4","description":"Local Midnight development network manager — CLI and MCP server","directories":{},"resolutions":{"@midnight-ntwrk/ledger-v7":"7.0.0","@midnight-ntwrk/midnight-js-network-id":"3.1.0"},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.18.3","zod":"^3.24.0","hono":"^4.12.3","open":"^11.0.0","pino":"^10.1.0","rxjs":"^7.8.1","commander":"^13.1.0","pino-pretty":"^13.1.3","@scure/bip39":"^2.0.1","@hono/node-server":"^1.19.9","@midnight-ntwrk/ledger-v7":"7.0.0","@modelcontextprotocol/sdk":"^1.12.1","@midnight-ntwrk/wallet-sdk-hd":"3.0.0","@midnight-ntwrk/wallet-sdk-facade":"1.0.0","@midnight-ntwrk/wallet-sdk-shielded":"1.0.0","@midnight-ntwrk/midnight-js-network-id":"3.1.0","@midnight-ntwrk/wallet-sdk-dust-wallet":"1.0.0","@midnight-ntwrk/wallet-sdk-abstractions":"1.0.0","@midnight-ntwrk/wallet-sdk-address-format":"3.0.0","@midnight-ntwrk/wallet-sdk-unshielded-wallet":"1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.1.0","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/midnight-local-devnet_0.5.0_1772285734895_0.0716263605376557","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@aaronbassett/midnight-local-devnet","version":"0.5.1","keywords":["midnight","blockchain","devnet","mcp","development"],"license":"MIT","_id":"@aaronbassett/midnight-local-devnet@0.5.1","maintainers":[{"name":"aaronbassett","email":"aaronbassett@gmail.com"}],"homepage":"https://github.com/devrelaicom/midnight-local-devnet#readme","bugs":{"url":"https://github.com/devrelaicom/midnight-local-devnet/issues"},"bin":{"midnight-devnet-mcp":"dist/index.js","midnight-local-devnet":"dist/cli.js"},"dist":{"shasum":"8279b652c32482922d7a0f5475e268d06eef4545","tarball":"https://registry.npmjs.org/@aaronbassett/midnight-local-devnet/-/midnight-local-devnet-0.5.1.tgz","fileCount":95,"integrity":"sha512-f+ziTsylQCzLkROoKNDOChV9CLW3eNRnK/E9/SxDA0VsngBZeMNDlLBFXUq4mjQ8biAeur8tXCmdTGXZ74vQ1Q==","signatures":[{"sig":"MEYCIQCnrOOKMgzDejVVOcwDyK/urNgjwkaGPrdAtRYbz2YgzgIhAKzeXk6ojTfs8u8sVyIXGr+KDAHPbs/NpRLrRtmyS/kK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aaronbassett%2fmidnight-local-devnet@0.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":278980},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"f0ac008237012fa2b01b6367fc6cf99ba18517c9","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","start:cli":"node --enable-source-maps dist/cli.js","start:mcp":"node --enable-source-maps dist/index.js","test:watch":"vitest"},"_npmUser":{"name":"aaronbassett","email":"aaronbassett@gmail.com"},"repository":{"url":"git+https://github.com/devrelaicom/midnight-local-devnet.git","type":"git"},"_npmVersion":"10.9.4","description":"Local Midnight development network manager — CLI and MCP server","directories":{},"resolutions":{"@midnight-ntwrk/ledger-v7":"7.0.0","@midnight-ntwrk/midnight-js-network-id":"3.1.0"},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.18.3","zod":"^3.24.0","hono":"^4.12.3","open":"^11.0.0","pino":"^10.1.0","rxjs":"^7.8.1","commander":"^13.1.0","pino-pretty":"^13.1.3","@scure/bip39":"^2.0.1","@hono/node-server":"^1.19.9","@midnight-ntwrk/ledger-v7":"7.0.0","@modelcontextprotocol/sdk":"^1.12.1","@midnight-ntwrk/wallet-sdk-hd":"3.0.0","@midnight-ntwrk/wallet-sdk-facade":"1.0.0","@midnight-ntwrk/wallet-sdk-shielded":"1.0.0","@midnight-ntwrk/midnight-js-network-id":"3.1.0","@midnight-ntwrk/wallet-sdk-dust-wallet":"1.0.0","@midnight-ntwrk/wallet-sdk-abstractions":"1.0.0","@midnight-ntwrk/wallet-sdk-address-format":"3.0.0","@midnight-ntwrk/wallet-sdk-unshielded-wallet":"1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.1.0","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/midnight-local-devnet_0.5.1_1772292501100_0.1879282247138523","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@aaronbassett/midnight-local-devnet","version":"0.6.0","description":"Local Midnight development network manager — CLI and MCP server","license":"MIT","repository":{"type":"git","url":"git+https://github.com/devrelaicom/midnight-local-devnet.git"},"keywords":["midnight","blockchain","devnet","mcp","development"],"publishConfig":{"access":"public"},"type":"module","engines":{"node":">=22.0.0"},"bin":{"midnight-local-devnet":"dist/cli.js","midnight-devnet-mcp":"dist/index.js"},"scripts":{"build":"tsc","dev":"tsc --watch","start:mcp":"node --enable-source-maps dist/index.js","start:cli":"node --enable-source-maps dist/cli.js","test":"vitest run","test:watch":"vitest"},"dependencies":{"@hono/node-server":"^1.19.9","@midnight-ntwrk/ledger-v7":"7.0.0","@midnight-ntwrk/midnight-js-network-id":"3.1.0","@midnight-ntwrk/wallet-sdk-abstractions":"1.0.0","@midnight-ntwrk/wallet-sdk-address-format":"3.0.0","@midnight-ntwrk/wallet-sdk-dust-wallet":"1.0.0","@midnight-ntwrk/wallet-sdk-facade":"1.0.0","@midnight-ntwrk/wallet-sdk-hd":"3.0.0","@midnight-ntwrk/wallet-sdk-shielded":"1.0.0","@midnight-ntwrk/wallet-sdk-unshielded-wallet":"1.0.0","@modelcontextprotocol/sdk":"^1.12.1","@scure/bip39":"^2.0.1","commander":"^13.1.0","hono":"^4.12.3","open":"^11.0.0","pino":"^10.1.0","pino-pretty":"^13.1.3","rxjs":"^7.8.1","ws":"^8.18.3","zod":"^3.24.0"},"devDependencies":{"@types/node":"^22.0.0","@types/ws":"^8.18.1","typescript":"^5.9.3","vitest":"^3.1.0"},"resolutions":{"@midnight-ntwrk/ledger-v7":"7.0.0","@midnight-ntwrk/midnight-js-network-id":"3.1.0"},"_id":"@aaronbassett/midnight-local-devnet@0.6.0","gitHead":"bce44bb677abe47a8979587a04830c60b71363e4","bugs":{"url":"https://github.com/devrelaicom/midnight-local-devnet/issues"},"homepage":"https://github.com/devrelaicom/midnight-local-devnet#readme","_nodeVersion":"22.22.0","_npmVersion":"10.9.4","dist":{"integrity":"sha512-PiVoxsiFfHrv6yUm7ObLlGwaR2Vb686E4BSf6yOduX6Hang2EPoOb4a4bzhCj328HgXdYxHdZFgACnboLX/HMQ==","shasum":"868d96ce91ebe6d220e79697f353c3bcf5e3dfd8","tarball":"https://registry.npmjs.org/@aaronbassett/midnight-local-devnet/-/midnight-local-devnet-0.6.0.tgz","fileCount":98,"unpackedSize":290554,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aaronbassett%2fmidnight-local-devnet@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQC1gdG3n9o0vk/qLWqKZmfrQJKxe47r/SW7MGZ0p5RXOgIhANkhC5eo1cMSKk7jkrkflwnrpR2zZzJbDT9nCbPNyEx+"}]},"_npmUser":{"name":"aaronbassett","email":"aaronbassett@gmail.com"},"directories":{},"maintainers":[{"name":"aaronbassett","email":"aaronbassett@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/midnight-local-devnet_0.6.0_1772460113355_0.18057700006489275"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-27T16:18:42.383Z","modified":"2026-03-02T14:01:53.867Z","0.1.0":"2026-02-27T16:18:42.644Z","0.1.1":"2026-02-27T16:40:51.032Z","0.1.2":"2026-02-27T23:42:17.583Z","0.2.1":"2026-02-28T05:33:36.330Z","0.3.0":"2026-02-28T07:03:28.720Z","0.3.1":"2026-02-28T09:04:02.808Z","0.4.0":"2026-02-28T12:59:44.563Z","0.5.0":"2026-02-28T13:35:35.049Z","0.5.1":"2026-02-28T15:28:21.259Z","0.6.0":"2026-03-02T14:01:53.539Z"},"bugs":{"url":"https://github.com/devrelaicom/midnight-local-devnet/issues"},"license":"MIT","homepage":"https://github.com/devrelaicom/midnight-local-devnet#readme","keywords":["midnight","blockchain","devnet","mcp","development"],"repository":{"type":"git","url":"git+https://github.com/devrelaicom/midnight-local-devnet.git"},"description":"Local Midnight development network manager — CLI and MCP server","maintainers":[{"name":"aaronbassett","email":"aaronbassett@gmail.com"}],"readme":"# @aaronbassett/midnight-local-devnet\n\n[![npm version](https://img.shields.io/npm/v/@aaronbassett/midnight-local-devnet)](https://www.npmjs.com/package/@aaronbassett/midnight-local-devnet)\n\nA CLI and MCP (Model Context Protocol) server for managing a local Docker-based Midnight development network. It spins up a Midnight node, indexer, and proof server in Docker containers, initializes a genesis master wallet pre-loaded with NIGHT tokens and DUST, and provides commands to fund test accounts, generate wallets, and monitor network health -- all from the command line or from any MCP-compatible AI assistant.\n\n## Prerequisites\n\n- **Node.js >= 22**\n- **Docker** (Docker Desktop or Docker Engine with Compose v2)\n\n## Quick Start\n\n### CLI\n\nStart the network:\n\n```bash\nnpx @aaronbassett/midnight-local-devnet start\n```\n\nOpen the dashboard in your browser to monitor your devnet:\n\n```bash\nnpx @aaronbassett/midnight-local-devnet dashboard\n```\n\n### MCP Server\n\nAdd to your MCP client configuration (Claude Code, Cursor, Windsurf, etc.):\n\n```json\n{\n  \"mcpServers\": {\n    \"midnight-devnet\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"-p\", \"@aaronbassett/midnight-local-devnet\", \"midnight-devnet-mcp\"]\n    }\n  }\n}\n```\n\nThe MCP server communicates over stdio and exposes tools and resources that an AI assistant can use to manage the devnet on your behalf.\n\n## CLI Command Reference\n\nAll commands can be run via `npx @aaronbassett/midnight-local-devnet <command>`.\n\n### Global Options\n\n| Option | Description |\n|---|---|\n| `--json` | Output results as machine-parseable JSON on stdout |\n| `--version` | Show version number |\n| `--help` | Show help |\n\nWhen `--json` is active, only valid JSON is written to stdout. All progress messages and logs are redirected to stderr so the output can be piped directly to tools like `jq`.\n\n### Commands\n\n| Command | Description | Options |\n|---|---|---|\n| `start` | Start the local Midnight devnet | `--pull` Pull latest Docker images |\n| `stop` | Stop the devnet | `--remove-volumes` Remove volumes and containers |\n| `restart` | Restart the network | `--pull`, `--remove-volumes` |\n| `status` | Show network status and per-service info | |\n| `logs` | Show network service logs | `--service <name>` (node, indexer, proof-server), `--lines <n>` (default: 50) |\n| `health` | Check health of all services | |\n| `balances` | Show master wallet NIGHT/DUST balances | |\n| `fund <address>` | Fund a Bech32 address with NIGHT tokens | `--amount <n>` Amount in NIGHT (default: 50,000) |\n| `fund-file <path>` | Fund all accounts from an accounts.json file | |\n| `generate-accounts` | Generate random test accounts | `--count <n>`, `--format <mnemonic\\|privateKey>`, `--output <path>`, `--fund`, `--register-dust` |\n| `dashboard` | Open browser dashboard | `--port <n>` (default: 31780), `--no-open` Suppress auto-open |\n| `interactive` | Start interactive menu mode | |\n\nRunning with no arguments displays help.\n\n### JSON Output\n\nUse the `--json` flag for scripting and automation:\n\n```bash\n# Get network status as JSON\nnpx @aaronbassett/midnight-local-devnet status --json\n\n# Pipe to jq for filtering\nnpx @aaronbassett/midnight-local-devnet health --json | jq '.allHealthy'\n\n# Generate accounts and capture output\nnpx @aaronbassett/midnight-local-devnet generate-accounts --count 3 --json > accounts.json\n```\n\nErrors in `--json` mode produce `{\"error\": \"message\"}` on stdout with a non-zero exit code.\n\n## Dashboard\n\nThe `dashboard` command starts a local server and opens a browser-based dashboard that displays the state of all local devnet services in real time.\n\n```bash\nnpx @aaronbassett/midnight-local-devnet dashboard\n```\n\nThis starts a server on `http://localhost:31780` and opens your default browser. Press Ctrl+C in the terminal to stop.\n\nOptions:\n\n- `--port <n>` -- Use a specific port (default: 31780, auto-increments if in use)\n- `--no-open` -- Start the server without opening the browser\n\nThe dashboard shows:\n\n- **Node** -- Block height, average block time, chain, peers, sync status, version\n- **Indexer** -- Ready status, response time\n- **Proof Server** -- Version, proof versions, job processing/pending/capacity gauge\n- **Wallet** -- Master wallet NIGHT (unshielded + shielded) and DUST balances\n- **Response Times** -- SVG sparkline charts of per-service response times\n- **Logs** -- Combined color-coded log stream from all services, filterable by service, level, or text search\n\nThe dashboard connects to the server via WebSocket for live updates. If the connection drops, it auto-reconnects. You can start and stop the network directly from the dashboard using the action buttons.\n\nThe layout is responsive and adapts to your browser window width.\n\n## MCP Tool Reference\n\n| Tool | Description | Parameters |\n|---|---|---|\n| `start-network` | Start the devnet (node, indexer, proof-server) | `pull?` boolean |\n| `stop-network` | Stop the devnet and close wallets | `removeVolumes?` boolean |\n| `restart-network` | Restart the network | `pull?` boolean, `removeVolumes?` boolean |\n| `network-status` | Get current network and per-service status | |\n| `network-logs` | Get recent logs from services | `service?` (node, indexer, proof-server), `lines?` number |\n| `health-check` | Check health of all service endpoints | |\n| `get-network-config` | Get endpoint URLs, network ID, image versions | |\n| `get-wallet-balances` | Get NIGHT and DUST balances of master wallet | |\n| `fund-account` | Transfer NIGHT to a Bech32 address | `address` string, `amount?` string |\n| `fund-account-from-mnemonic` | Derive wallet from mnemonic, fund NIGHT, register DUST | `name` string, `mnemonic` string |\n| `fund-accounts-from-file` | Batch fund accounts from accounts.json | `filePath` string |\n| `generate-test-account` | Generate random test accounts | `format` (mnemonic\\|privateKey), `count?`, `fund?`, `registerDust?`, `outputFile?` |\n\n## MCP Resource Reference\n\n| URI | Description |\n|---|---|\n| `devnet://config` | Current network configuration: endpoints, network ID, Docker image versions |\n| `devnet://status` | Live network status including per-service container state |\n\nResources are read-only and can be accessed by any MCP client to display context to an AI assistant.\n\n## accounts.json Format\n\nThe `fund-file` CLI command and `fund-accounts-from-file` MCP tool accept a JSON file describing accounts to fund. Each account is identified by a mnemonic; the tool derives its wallet, transfers NIGHT tokens, and registers DUST.\n\n```json\n{\n  \"accounts\": [\n    {\n      \"name\": \"Alice\",\n      \"mnemonic\": \"abandon abandon abandon ... art\"\n    },\n    {\n      \"name\": \"Bob\",\n      \"mnemonic\": \"zoo zoo zoo ... vote\"\n    }\n  ]\n}\n```\n\nSee `accounts.example.json` for a complete example with valid 24-word BIP39 mnemonics.\n\nEach account entry requires:\n\n- **name** -- A display label for the account.\n- **mnemonic** -- A 24-word BIP39 mnemonic phrase.\n\n## Docker Services\n\nThe devnet runs three containers managed via Docker Compose:\n\n| Service | Container Name | Image | Port | URL |\n|---|---|---|---|---|\n| Node | midnight-node | `midnightntwrk/midnight-node:0.20.0` | 9944 | `http://127.0.0.1:9944` |\n| Indexer | midnight-indexer | `midnightntwrk/indexer-standalone:3.0.0` | 8088 | `http://127.0.0.1:8088/api/v3/graphql` |\n| Proof Server | midnight-proof-server | `midnightntwrk/proof-server:7.0.0` | 6300 | `http://127.0.0.1:6300` |\n\nThe indexer also exposes a WebSocket endpoint at `ws://127.0.0.1:8088/api/v3/graphql/ws`.\n\nThe network ID is `undeployed` (development mode).\n\n## Network Endpoints for DApp Development\n\nWhen connecting a Midnight DApp to the local devnet, use the following configuration:\n\n```typescript\nconst config = {\n  indexer: 'http://127.0.0.1:8088/api/v3/graphql',\n  indexerWS: 'ws://127.0.0.1:8088/api/v3/graphql/ws',\n  node: 'http://127.0.0.1:9944',\n  proofServer: 'http://127.0.0.1:6300',\n  networkId: 'undeployed',\n};\n```\n\nYou can also retrieve this configuration at runtime via the `get-network-config` MCP tool or the `devnet://config` MCP resource.\n\n## Development\n\nTo work on this project locally:\n\n```bash\ngit clone https://github.com/devrelaicom/midnight-local-devnet.git\ncd midnight-local-devnet\nnpm install\nnpm run build\n```\n\nRun the CLI from source:\n\n```bash\nnode --enable-source-maps dist/cli.js start\n```\n\nRun the MCP server from source:\n\n```bash\nnode --enable-source-maps dist/index.js\n```\n\nRun tests:\n\n```bash\nnpm test\n```\n\n## Troubleshooting\n\n### Docker containers fail to start\n\nMake sure Docker is running and your user has permissions to use it:\n\n```bash\ndocker info\n```\n\nIf you see a permission error, add your user to the `docker` group or use `sudo`.\n\n### Port conflicts\n\nThe devnet uses ports 9944, 8088, and 6300. If another process is using one of these ports, stop it before starting the devnet:\n\n```bash\nlsof -i :9944\nlsof -i :8088\nlsof -i :6300\n```\n\n### Containers are unhealthy\n\nRun the health check to see which service is not responding:\n\n```bash\nnpx @aaronbassett/midnight-local-devnet health\n```\n\nCheck the logs for the failing service:\n\n```bash\nnpx @aaronbassett/midnight-local-devnet logs --service node\nnpx @aaronbassett/midnight-local-devnet logs --service indexer\nnpx @aaronbassett/midnight-local-devnet logs --service proof-server\n```\n\n### Clean restart\n\nIf the network is in a broken state, do a clean restart that removes all volumes:\n\n```bash\nnpx @aaronbassett/midnight-local-devnet restart --remove-volumes\n```\n\nThis removes all chain data and starts fresh.\n\n### Wallet sync takes too long\n\nThe master wallet must synchronize with the chain on first start. This can take 10--30 seconds depending on your machine. The CLI and MCP server wait for synchronization automatically.\n\n### \"Network is not running\" error\n\nThe tool detects running containers on startup. If you stopped the containers externally (e.g. via `docker compose down`), run `start` again:\n\n```bash\nnpx @aaronbassett/midnight-local-devnet start\n```\n\n## Acknowledgments\n\nThis project is based on [midnight-local-network](https://github.com/hbulgarini/midnight-local-network) by [@hbulgarini](https://github.com/hbulgarini). Thank you for the initial version that made this possible.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}