{"_id":"@0bsnetwork/zbs-repl","_rev":"1-9c6ed61e5f7853bf9bc77749563605a4","name":"@0bsnetwork/zbs-repl","dist-tags":{"latest":"2.2.7"},"versions":{"2.2.7":{"name":"@0bsnetwork/zbs-repl","version":"2.2.7","description":"Javascript console to interact with 0bsNetwork blockchain. React component","main":"dist/index.js","typings":"dist/index.d.ts","repository":{"type":"git","url":"git+https://github.com/0bsnetwork/zbs-repl.git"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","start":"webpack-dev-server --mode development","copyCssSvg":"copyfiles -f src/css/* dist/css && copyfiles -f src/svg/* dist/svg && copyfiles -f src/core/jsconsole.css src/core/logo.svg dist/core","dist":"rimraf dist && tsc && npm run copyCssSvg","prepublishOnly":"npm run dist"},"author":{"name":"0bsnetwork"},"license":"MIT","peerDependencies":{"react":"^16.3.2","react-dom":"^16.3.2","@waves/ride-js":"^0.17.4"},"dependencies":{"@0bsnetwork/zbs-transactions":"^3.3.9","axios":"^0.18.0","babylon":"^6.18.0","babylon-walk":"^1.0.2","classnames":"^2.2.6","copy-to-clipboard":"^3.0.8","react-copy-to-clipboard":"^5.0.1","react-redux":"^5.0.7","redux":"^4.0.0"},"devDependencies":{"@types/babylon":"^6.16.3","@types/babylon-walk":"^3.10.1","@types/classnames":"^2.2.6","@types/lodash":"^4.14.116","@types/long":"^4.0.0","@types/react":"^16.4.14","@types/react-copy-to-clipboard":"^4.2.6","@types/react-dom":"^16.0.8","@types/react-redux":"^6.0.9","@waves/ride-js":"^0.16.1","autoprefixer":"^9.1.5","copy-webpack-plugin":"^4.5.2","copyfiles":"^2.1.0","css-loader":"^1.0.0","html-webpack-plugin":"^3.2.0","postcss-flexbugs-fixes":"^4.1.0","postcss-inline-svg":"^3.1.1","postcss-loader":"^3.0.0","react":"^16.3.2","react-dom":"^16.3.2","rimraf":"^2.6.2","style-loader":"^0.23.0","ts-loader":"^5.2.1","tslint":"^5.12.1","typescript":"^3.1.1","webpack":"^4.20.2","webpack-cli":"^3.1.2","webpack-dev-server":"^3.1.14"},"gitHead":"55a2d2c826e0273291140a83b3e5fedb0fc0bcd3","bugs":{"url":"https://github.com/0bsnetwork/zbs-repl/issues"},"homepage":"https://github.com/0bsnetwork/zbs-repl#readme","_id":"@0bsnetwork/zbs-repl@2.2.7","_npmVersion":"6.4.1","_nodeVersion":"10.15.1","_npmUser":{"name":"0bsnetwork","email":"dev@vienna-node.eu"},"dist":{"integrity":"sha512-kPqpGq5ComMaoQcF2pIixH/Zczqo8O8qXxGGEIuZfwqOF/00UImz9iZd/kgRcjM3xOIc+pjU1X2qtJM3UNbpoA==","shasum":"2a3e14f91a13d64495c957e2aa865d86f0bbd5d7","tarball":"https://registry.npmjs.org/@0bsnetwork/zbs-repl/-/zbs-repl-2.2.7.tgz","fileCount":116,"unpackedSize":177329,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcoQYUCRA9TVsSAnZWagAA42IP/0KMiFqyRV5nAVVoGVwI\nWWJB/nK8X3o4ggEB9lyUpZrpR5ePvW6EByqsh4snnrYHWHzBs6YG/SH6+1jm\nsa+zBX3UGUQGl4kdSeDZF67aHjTDMOQUuooLH84jrUk+EA4NyGkyTWDQqd8B\nNW8xBnb3PTSjzU9N+dtf7NAYnmVE05GlKcUZTrspIqDRu2XyGcupI/ock+my\nfHLsAI8JFXWntbO4KxjwM5EO6jn270VcAHt8L4ic+TdbnZuOYvSdzlW5UpfE\nW55p6Kxx6wbMr+4RoZiuPESLIyFXhnmsKhh/k37Z6RVJhlkJAdk/Vj5WyHtV\n+CkcGuVMGyVQ4eIDxmIm5oqzJQbxQ+iRjAuX9smbxVBeiKL51retzLxXGk23\nfppasAg9BrNIqE2yeQaM7RpE2oEc2nYSQkaxkIkl6ybD4efDFuSBUcUFQL+l\nqfOtzjyeAM94kFOJHmECry9B3SILluABPgqEcEA8TOCAEoqR5cZSQ8prN1V0\nQxumn/Wv+SOCM4FuN3Hbcy0gZ5IHJtfkiM06QpyhdvhZNltOFmhU8vLXbB9K\nimrRcvxLX0fUHB5ZEFGbCf32nOZImpEOhguokTmTI21ee4QzgmXJbaN1wl1D\nOjP3sOF7555hWM9a/39q6R+PdBBHDeQJxknd1nrdzE/Ky44ts5t4q8cXAqvF\n5OCy\r\n=F5pH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAbYxRXLI9JBeXXlfDde22KvNY+SWtNo2NOuJjvbypAGAiEAwS4SrwjSpeyZAJVtZgVKRO1IWNI3YsS9ukZZS7A0Fss="}]},"maintainers":[{"name":"0bsnetwork","email":"dev@vienna-node.eu"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zbs-repl_2.2.7_1554056723730_0.4178494491311211"},"_hasShrinkwrap":false}},"time":{"created":"2019-03-31T18:25:23.540Z","2.2.7":"2019-03-31T18:25:23.912Z","modified":"2022-04-04T10:26:01.672Z"},"maintainers":[{"name":"0bsnetwork","email":"dev@vienna-node.eu"}],"description":"Javascript console to interact with 0bsNetwork blockchain. React component","homepage":"https://github.com/0bsnetwork/zbs-repl#readme","repository":{"type":"git","url":"git+https://github.com/0bsnetwork/zbs-repl.git"},"author":{"name":"0bsnetwork"},"bugs":{"url":"https://github.com/0bsnetwork/zbs-repl/issues"},"license":"MIT","readme":"# REPL\n## About\nThis repository contains javascript console for 0bsNetwork blockchain.\nIt is built on top of [jsconsole](https://github.com/remy/jsconsole) and have predefined functions to work with zbs\n## Builtin functions\n#### JS lib\nConsole uses zbs-transations library. Top level library functions are bound to console global scope.\nThe difference is that in console, seed argument is equal to env.SEED by default. You need to pass null explicitly if you only want to create transaction and not to sign it\nE.x.:\n##### Console\n```javascript\nconst signedTx = transfer({amount: 100, recipient: '3MyAGEBuZGDKZDzYn6sbh2noqk9uYHy4kjw', senderPublicKey: '8ViwGfvyyN1teUKV4Uvk2orK6XiYB4S4VuM2DqJ9Mj5b'}, null)\n\n//returns tx with no proofs\n{\n  \"type\": 4,\n  \"version\": 2,\n  \"fee\": 100000,\n  \"senderPublicKey\": \"8ViwGfvyyN1teUKV4Uvk2orK6XiYB4S4VuM2DqJ9Mj5b\",\n  \"timestamp\": 1542640481876,\n  \"proofs\": [],\n  \"id\": \"CveeKH16XQcshV5GZP2RXppg3snxcKqRsM4wE5gxcuzc\",\n  \"chainId\": \"T\",\n  \"amount\": 100,\n  \"recipient\": \"3MyAGEBuZGDKZDzYn6sbh2noqk9uYHy4kjw\"\n}\n\n```\n#### Additional functions\nBroadcast signed tx using node from global variable\n```javascript\nconst resp = await broadcast(signedTx)\n```\nDeploy current open contract using node from global variable\n```javascript\nconst resp = deploy()\n```\nSign arbitrary transaction\n```javascript\nconst tx = transfer({amount: 100, recipient: '3MyAGEBuZGDKZDzYn6sbh2noqk9uYHy4kjw', senderPublicKey: '8ViwGfvyyN1teUKV4Uvk2orK6XiYB4S4VuM2DqJ9Mj5b'}, null)\nconst signedTx = signTx(tx)\n```\nCompile contract. Returns base64\n```javascript\nconst compiled = compile(contractText)\n```\nGet contract text by tab name. Used inside web-ide or vscode plugin\n```javascript\nconst contractText = file(tabName)\n```\nGet contract text from currently open tab. Used inside web-ide or vscode plugin\n```javascript\nconst contractText = contract()\n```\n\nKeys\n```javascript\naddress(seed = env.SEED) // Address from seed.\nkeyPair(seed = env.SEED) // Keypair from seed\npublicKey(seed = env.SEED) // Public key from seed\nprivateKey(seed = env.SEED) // Private key from seed\n```\n#### Global object env\n```javascript\nenv.SEED // Default seed\nenv.CHAIN_ID // Default network byte\nenv.API_BASE // Node url\nenv.editors // Open editor tabs info\n```\n## Usage\n### Dev server:\n```npm\nnpm start\n```\nStarts dev server\n### React component\n```typescript jsx\nimport * as React from 'react';\nimport {render} from 'react-dom';\nimport {Repl} from 'zbs-repl';\n\nclass App extends React.Component {\n    public consoleRef = React.createRef<Repl>();\n\n    componentDidMount(){\n        // Get console instance\n        const console = this.consoleRef.current!;\n\n        // Access to console api\n        (global as any)['updateEnv'] = console.updateEnv;\n        (global as any)['API'] = console.API;\n        (global as any)['methods'] = console.methods;\n\n        (global as any)['updateEnv']({\n            SEED: 'abracadabra',\n            API_BASE: 'https://nodes.testnet-0bsnetwork.com',\n            CHAIN_ID: 'T',\n            file: () => 'Placeholder file content'\n        });\n\n    }\n    render(){\n        return <Repl theme=\"dark\" ref={this.consoleRef}/>\n    }\n}\nrender(<App/>, document.getElementById('root'));\n```\n\n\n\n","readmeFilename":"README.md"}