{"_id":"@bradthomasbrown/ejra","_rev":"7-b30f06cb613904bf6712250d9ae68937","name":"@bradthomasbrown/ejra","dist-tags":{"latest":"1.0.6"},"versions":{"1.0.0":{"name":"@bradthomasbrown/ejra","version":"1.0.0","author":{"name":"Brad Brown","email":"https://t.me/bradthomasbrown"},"_id":"@bradthomasbrown/ejra@1.0.0","maintainers":[{"name":"bradthomasbrown","email":"bradthomasbrown@outlook.com"}],"dist":{"shasum":"66b373d41148e01a95e40cc335632374a3242525","tarball":"https://registry.npmjs.org/@bradthomasbrown/ejra/-/ejra-1.0.0.tgz","fileCount":2,"integrity":"sha512-2F8GGPONxryXwk664IKAViI4+IZmW4+nDDaIVdESiaH50Oy/JMcEfxX6/sBvk50xjb7xmQ93tiHc80pSqDzvow==","signatures":[{"sig":"MEYCIQCKO/wR2ug4bHrotYggwKzZoZP/C5AT4j+qPsIbMV5l5wIhAL3hilP/+UTl9DgwfHWMuPLsNgmMR+UrqJi+6J8qgxVN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1943},"type":"module","exports":{".":"./dist/ejra.js"},"gitHead":"da86ff7efb329ef8c4e27588d6f55cd5067a60cd","_npmUser":{"name":"bradthomasbrown","email":"bradthomasbrown@outlook.com"},"_npmVersion":"10.9.2","description":"Minimal, unoptimized, and unaudited EVM (Ethereum and similar) JSON RPC API library in JavaScript/TypeScript.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@bradthomasbrown/jra":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ejra_1.0.0_1766027900774_0.8733510483294182","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@bradthomasbrown/ejra","version":"1.0.1","author":{"name":"Brad Brown","email":"https://t.me/bradthomasbrown"},"_id":"@bradthomasbrown/ejra@1.0.1","maintainers":[{"name":"bradthomasbrown","email":"bradthomasbrown@outlook.com"}],"dist":{"shasum":"588b3ff3231fbab0c6fce30ccbe3083fece5b89a","tarball":"https://registry.npmjs.org/@bradthomasbrown/ejra/-/ejra-1.0.1.tgz","fileCount":5,"integrity":"sha512-MeFYRRY3oOPasFtkUMas8LkDByUvbmq8IBu71d54HH5Z22c74/mwxsIXmiDT11VNnTE8/Hv/YAh7ezsHM/OGrA==","signatures":[{"sig":"MEUCIGm49fUrHmi2lN45jQNDyAU7zXRJVY/J1HolwmK6PGpsAiEA8lkOD0i7Ip1TWBq8/uV+c2AEDmWiFV+axa2CHmE8OCA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19521},"type":"module","exports":{".":"./dist/ejra.js"},"gitHead":"6711cfe3cf275df446ce3313581c815f6d9c5516","_npmUser":{"name":"bradthomasbrown","email":"bradthomasbrown@outlook.com"},"_npmVersion":"10.9.2","description":"Minimal, unoptimized, and unaudited EVM (Ethereum and similar) JSON RPC API library in JavaScript/TypeScript.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@bradthomasbrown/jra":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ejra_1.0.1_1766184718770_0.37945949435029047","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@bradthomasbrown/ejra","version":"1.0.2","author":{"name":"Brad Brown","email":"https://t.me/bradthomasbrown"},"_id":"@bradthomasbrown/ejra@1.0.2","maintainers":[{"name":"bradthomasbrown","email":"bradthomasbrown@outlook.com"}],"dist":{"shasum":"ff83ad48f880ac1ebca6c88da3006e4e19e6c452","tarball":"https://registry.npmjs.org/@bradthomasbrown/ejra/-/ejra-1.0.2.tgz","fileCount":5,"integrity":"sha512-rPKBPTuiYLGNvbzEtFh472Pxv/wC3ZOjuHNWmVLxWqBiruvh177mr76FSt68eWAMt/xT7V6bBIsagLMxNaoN/g==","signatures":[{"sig":"MEUCIQCCIth9zN0wCBQwXB2FxDrDPZWG0CW1aPZ2a72KUF4Y0QIgJdDF9FpplxoRumGFBql7907YwebkmcA6t1oKbv0xxto=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19507},"type":"module","exports":{".":"./dist/ejra.js"},"gitHead":"b2b06352e65c4c91369439755d4a9c56dddbe5fd","_npmUser":{"name":"bradthomasbrown","email":"bradthomasbrown@outlook.com"},"_npmVersion":"10.9.2","description":"Minimal, unoptimized, and unaudited EVM (Ethereum and similar) JSON RPC API library in JavaScript/TypeScript.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@bradthomasbrown/jra":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ejra_1.0.2_1766536649190_0.6153318786171607","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@bradthomasbrown/ejra","version":"1.0.3","author":{"name":"Brad Brown","email":"https://t.me/bradthomasbrown"},"_id":"@bradthomasbrown/ejra@1.0.3","maintainers":[{"name":"bradthomasbrown","email":"bradthomasbrown@outlook.com"}],"dist":{"shasum":"8ba02f4b316c6bd1ea559c461c50b0cdc5e3eac6","tarball":"https://registry.npmjs.org/@bradthomasbrown/ejra/-/ejra-1.0.3.tgz","fileCount":5,"integrity":"sha512-6nmjbb8DDVbS82mUct9qlSY+PV/RjO0zGax2e2EySLuM+eIZCbgFzClr6rxfRMK0Tu+4ps+ZxYeoYxhgTEwHMA==","signatures":[{"sig":"MEUCIQCxkxAfxtd4ND/SsTTheZcGuKsURe/4soMVRUqhDGukVwIgahOrrxxLRJIK2TMwsU90yCJKuMIMe9P/hsrieQiCqKY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19507},"type":"module","exports":{".":"./dist/ejra.js"},"gitHead":"97b9ddf10194a53efa32c0a2dc1d928e04e31b2c","_npmUser":{"name":"bradthomasbrown","email":"bradthomasbrown@outlook.com"},"_npmVersion":"10.9.2","description":"Minimal, unoptimized, and unaudited EVM (Ethereum and similar) JSON RPC API library in JavaScript/TypeScript.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@bradthomasbrown/jra":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ejra_1.0.3_1766714093492_0.5763581639310518","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@bradthomasbrown/ejra","version":"1.0.4","author":{"name":"Brad Brown","email":"https://t.me/bradthomasbrown"},"_id":"@bradthomasbrown/ejra@1.0.4","maintainers":[{"name":"bradthomasbrown","email":"bradthomasbrown@outlook.com"}],"dist":{"shasum":"de1e9ccd197d2f1ba6fe65dd8bd4dd906c504d71","tarball":"https://registry.npmjs.org/@bradthomasbrown/ejra/-/ejra-1.0.4.tgz","fileCount":5,"integrity":"sha512-Pobpu6qxA6zCYP2DDgDRrMVhrwM1XXuJ1OlOM7Pq2JntSfUDqM8xXcJyXRkrJJ/mht59xlR21yK5hku5SjD+xQ==","signatures":[{"sig":"MEQCICtEB+PGEvRaF+bma5YE/rX61RsVFTfnLguoTW+hGoZtAiASTA54UphZ/cmDFLfk7o5pLbic1+SA+eEHv6mXVKtcoA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19508},"type":"module","exports":{".":"./dist/ejra.js"},"gitHead":"805e75cda0aeb2a818a343b7d8d0b48d5bd9fbcc","_npmUser":{"name":"bradthomasbrown","email":"bradthomasbrown@outlook.com"},"_npmVersion":"10.9.2","description":"Minimal, unoptimized, and unaudited EVM (Ethereum and similar) JSON RPC API library in JavaScript/TypeScript.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@bradthomasbrown/jra":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ejra_1.0.4_1766715312151_0.2897314015603636","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@bradthomasbrown/ejra","version":"1.0.5","author":{"name":"Brad Brown","email":"https://t.me/bradthomasbrown"},"_id":"@bradthomasbrown/ejra@1.0.5","maintainers":[{"name":"bradthomasbrown","email":"bradthomasbrown@outlook.com"}],"dist":{"shasum":"04c46573585b6773cabfec65ed105dc680ebb9b1","tarball":"https://registry.npmjs.org/@bradthomasbrown/ejra/-/ejra-1.0.5.tgz","fileCount":5,"integrity":"sha512-GS8M2Qg5Ce5Vlo8EbhQCCVqkPao95RkaTmHbSAArpuwtIhtDxKRe89Ui0YwYr/6yFV8SN8EmtwQqTamwROxbkA==","signatures":[{"sig":"MEUCIQCJ2cSGWmUZXG8q0dGRdEG+y6AYEtj9l57+nz0wah/fGAIgVLbjmudwaiqU6aEs0zFa02XqMAksMz3UqMmnVM/8h+4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19536},"type":"module","exports":{".":"./dist/ejra.js"},"gitHead":"af2495964b0d55618260ea5b48542c73e614987c","_npmUser":{"name":"bradthomasbrown","email":"bradthomasbrown@outlook.com"},"_npmVersion":"10.9.2","description":"Minimal, unoptimized, and unaudited EVM (Ethereum and similar) JSON RPC API library in JavaScript/TypeScript.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@bradthomasbrown/jra":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ejra_1.0.5_1767269622096_0.9846335665927515","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@bradthomasbrown/ejra","description":"Minimal, unoptimized, and unaudited EVM (Ethereum and similar) JSON RPC API library in JavaScript/TypeScript.","version":"1.0.6","author":{"name":"Brad Brown","email":"https://t.me/bradthomasbrown"},"type":"module","exports":{".":"./dist/ejra.js"},"dependencies":{"@bradthomasbrown/jra":"^1.0.6"},"_id":"@bradthomasbrown/ejra@1.0.6","gitHead":"0e4cd5f6d665af676b85195dd8e1ef9b6d1e2261","_nodeVersion":"22.16.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-33VDrlvNCV9Gqx5RMAcDWkqMJXMDBeK3/Y+R/EOU/H0Z9mFcCi5dlQDeqLJNbwh+e3QOkXjH20lrGxB32QR4dw==","shasum":"de1dec0dfa6306d6da7646f6286e1b613a821e71","tarball":"https://registry.npmjs.org/@bradthomasbrown/ejra/-/ejra-1.0.6.tgz","fileCount":5,"unpackedSize":19536,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGtcPl8uIJT/LWoZV4qlkyqKs7OIVZYco/1vFGwdHkAaAiEAq0AaY5wgQuUkJLsaTjVnxatQjoQCqUzwi1jpszcfQ48="}]},"_npmUser":{"name":"bradthomasbrown","email":"bradthomasbrown@outlook.com"},"directories":{},"maintainers":[{"name":"bradthomasbrown","email":"bradthomasbrown@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ejra_1.0.6_1767282907156_0.20323352033784636"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-18T03:18:20.689Z","modified":"2026-01-01T15:55:07.505Z","1.0.0":"2025-12-18T03:18:20.934Z","1.0.1":"2025-12-19T22:51:58.919Z","1.0.2":"2025-12-24T00:37:29.342Z","1.0.3":"2025-12-26T01:54:53.681Z","1.0.4":"2025-12-26T02:15:12.295Z","1.0.5":"2026-01-01T12:13:42.233Z","1.0.6":"2026-01-01T15:55:07.303Z"},"author":{"name":"Brad Brown","email":"https://t.me/bradthomasbrown"},"description":"Minimal, unoptimized, and unaudited EVM (Ethereum and similar) JSON RPC API library in JavaScript/TypeScript.","maintainers":[{"name":"bradthomasbrown","email":"bradthomasbrown@outlook.com"}],"readme":"# ejra\r\nThis is a simple, minimal implementation of an EVM (Ethereum and similar) client JSON RPC API in TypeScript/JavaScript.\r\nCurrently limited to HTTP as a transport (no socket support yet, create an issue if you're looking for that).\r\n\r\n## Why?\r\nThe existing alternatives are neither simple nor minimal enough. Trying to jam the entire scope of EVM interactions into a single library or under a single name is probably not correct. We'll try to do this in small pieces, and so this library is just for the very fundamental JSON RPC API portion of EVM interactions.\r\n\r\n## Installation\r\n```sh\r\nnpm i @bradthomasbrown/ejra\r\n```\r\n\r\n## Usage\r\n```js\r\nimport { methods as m, Node } from \"@bradthomasbrown/ejra\";\r\n\r\n// provided you have a local EVM node running on port 8545\r\nconst node = new Node(\"localhost:8545\");\r\n\r\n// you can make single requests\r\nconsole.log(await node.blockNumber());\r\n// 107904n\r\n\r\n// or explicit batch requests. any error in a batch will result in an aggregate error being thrown\r\nconst address = \"0x43e6e60706cd7c33440ec5a0b1159708a80e308f\";\r\nconst [clientVersion, chainId, gasPrice, blockNumber, balance] = await node.batch(\r\n    m.clientVersion(),\r\n    m.chainId(),\r\n    m.gasPrice(),\r\n    m.blockNumber(),\r\n    m.getBalance(address, \"latest\")\r\n);\r\nconsole.log({ clientVersion, chainId, gasPrice, blockNumber, balance });\r\n/* {\r\n  clientVersion: \"anvil/v1.5.0\",\r\n  chainId: 31337n,\r\n  gasPrice: 1000000007n,\r\n  blockNumber: 108550n,\r\n  balance: 999923575999465032n,\r\n} */\r\n\r\n```","readmeFilename":"README.md"}