1.0.1 • Published 11 months ago

@blockdag/blockdagd v1.0.1

Weekly downloads
-
License
MIT
Repository
-
Last release
11 months ago

BlockDAGd: Access Your Local Filesystems with the BlockDAG IDE

@blockdag/blockdagd is an NPM module that intends to be used with BlockDAG IDE web application. It establishes a two-way websocket connection between the local computer and BlockDAG IDE for a particular project directory.

blockdagd can be used to set up a development environment with other popular frameworks like Hardhat, Truffle, Slither etc.

More details are explained further

Installation

npm install -g @blockdag/blockdagd

NOTE: When the blockdagd NPM module is installed, it also installs Slither, solc-select and sets solc to latest version i.e. 0.8.15 currently.

ALSO NOTE: Python3.6+ (pip3) needs to already be installed on the System. In case of any discrepancy, Slither can also be installed along with other dependencies using the command:

> blockdagd -i slither

Warning for quite old users

There is a new version of blockdagd with a new npm address: https://npmjs.com/package/@blockdag-project/blockdagd If you were using the old one you need to:

  1. uninstall the old one: npm uninstall -g blockdagd
  2. install the new: npm install -g @blockdag/blockdagd

blockdagd command

The blockdagd command without options shares present working directory and the shared with the BlockDAG IDE.

The blockdagd command is:

> blockdagd

If you are using BlockDAG IDE from localhost or you are not running the command from your working directory, you’ll need to use the command with flags.

> blockdagd -h
Usage: blockdagd [options]

Establish a two-way websocket connection between the local computer and BlockDAG IDE for a folder

Options:
  -v, --version               output the version number
  -u, --blockdag-ide  <url>      URL of blockdag instance allowed to connect
  -s, --shared-folder <path>  Folder to share with BlockDAG IDE (Default: CWD)
  -i, --install <name>        Module name to install locally (Supported: ["slither"])
  -r, --read-only             Treat shared folder as read-only (experimental)
  -h, --help                  output usage information

Example:

    blockdagd -s ./shared_project -u http://localhost:8080

Share a project directory

blockdagd -s ./shared_project -u https://ide.blockdag.network

The current user should have read/write access to the folder (at least read access).

It is important to notice that changes made to the current file in BlockDAG IDE are automatically saved to the local computer every 5000 ms. There is no Save action. But the Ctrl-Z (undo) can be used.

Furthermore:

  • No copy of the shared folder is kept in the browser storage.
  • Clicking on the new folder or new file icon under localhost will create a new file or folder in the shared folder.
  • If a folder does not contain any file, the folder will not be displayed in the explorer (that might change).
  • Symbolic links are not forwarded to BlockDAG IDE.

Ports Usage

blockdagd creates a websocket connection with BlockDAG IDE on different ports. Ports are defined according to specific purposes. Port usage details are as:

  • 65520 : For blockdagd websocket listener, to share a project from local device with BlockDAG IDE. Shared folder will be loaded in the BlockDAG IDE File Explorer workspace named localhost
  • 65522 : For Hardhat websocket listener, to enable the Hardhat Compilation using BlockDAG IDE Solidity Compiler plugin, if shared folder is a Hardhat project
  • 65523 : For Slither websocket listener, to enable the Slither Analysis using BlockDAG IDE Solidity Static Analysis plugin
  • 65524 : For Truffle websocket listener, to enable the Truffle Compilation using BlockDAG IDE Solidity Compiler plugin, if shared folder is a Truffle project

Note: Please make sure your system is secured enough and these ports are not opened nor forwarded.