Giter VIP home page Giter VIP logo

node-explorer's Introduction

Node Explorer

Stand alone desktop app for Win/Osx/Linux that allows connecting to a local or remote Corda node. Examine transactions, run flows and view node and network properties in a few simple clicks.

Downloading the Node Explorer Binaries

If you're looking to download the node explorer and get started using it; download the latest packaged release on this repo's releases page.

There are install packages for Linux, OSX and Windows.

To login to your Corda node, you will need to provide the:

  • Hostname (domain, IP, or localhost)
  • Rpc Port
  • Username
  • Password

Notes: You can find the Rpc port in your node config under rpcSettings->address or as displayed in a CraSH shell instance. If you have not explicitly set a username/password project defaults are user1 and test.

Full instructions for using the Node-Explorer application at the documentation


Setting up for Node Explorer for Development

Note: This repository uses sub-modules. If cloning use git clone --recursive to automatically initialize and update the submodules.

Installation:

Requirements: NodeJS and Npm package manager.

  1. git clone --recursive <this repo> <optional: target dir>
  2. cd node-explorer (or target directory)
  3. npm install

Note this project uses the node-server submodule available at https://github.com/corda/node-server this must be initialised either by passing the --recursive option when running git clone OR executing the following commands.

  1. git submodule init
  2. git submodule update*

*this command must also be run after any pull request which includes updates to the submodule. An alternative is to do pull requests with the following option: git pull --recurse-submodules

Other submodule commands:

  • Fetch and merge the latest node-server submodule code

    • git submodule update --remote
  • Doing work on the submodule i.e. changing files in ./server

    • submodules default to a detached head, so change to server directory and checkout a branch
    • cd ./server
    • git checkout master
    • Add or commit your changes as usual.
  • To PULL submodule updates from server side, if there are changes on your local branch either merge or rebase with the pull

    • From MAIN project directory
    • git submodule update --remote --merge OR
    • git submodule update --remote --rebase
  • To PUSH submodule updates to server side

    • From MAIN project directory
    • git push --recurse-submodules=on-demand

Running the Node Explorer w/o packaging

To test your changes or run the node explorer without packaging you must:

1 Build and run the server jar first

  • cd server
  • ./gradlew assemble
  • java -jar ./server/build/libs/explorer-server-<version>.jar .

2 Then run the front end from the main project directory

  • npm start

3 The application can then be used through your browser at http://localhost:3000

Packaging electron installers / app files

Note: You must have a compiled server jar in the directory root

  • cd ./server && ./gradlew bootJar, move compiled jar in ./server/build/libs to the root.

Then run: npm run electron-pack


Deploy or Run Node Explorer with Docker

You can build docker images using the provided DockerFile(s). You will need to build two images, one for the Node Explorer front end ./DockerFile and another for the backend Node Server ./server/DockerFile (the Node Server DockerFile utilizes layers so you will need to extract the jar - see A Better Dockerfile)

If you DO NOT want to build your own images you can simply run Node Explorer using the docker-compose.yml and with contributed images. Follow the steps below:

#####1. Set cordapps path

export CORDAPPS_PATH=Your cordapps path here

example

export CORDAPPS_PATH=/home/karthik/github/samples-java/Basic/yo-cordapp/build/nodes/PartyA/cordapps

#####2. Run docker-compose file

docker-compose up -d

#####3. Browse to Node explorer UI

explorer runs at port 3000

http://localhost:3000/

#####4. Set cordapps directory in settings

Provide cordapps path as /cordapps in settings tab.

/cordapps

node-explorer's People

Contributors

akegaviar avatar anixon604 avatar ashutoshmeher-r3 avatar davidawad avatar hacktronaut avatar jamesobrien86 avatar karthik137 avatar peterli-r3 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

node-explorer's Issues

Security warning when downloading Corda Nodeexplorer 0.12

On Windows 11, up to date chrome. I downloaded Corda.Node.Explorer.Setup.0.1.2.exe from https://github.com/corda/node-explorer/releases and received a warning once downloaded that chrome was blocking access tot his for my own good (I didn't get a screen shot, sorry). Basically, chrome did not want me opening that file at all, I overrode it, and chucked it through virustotal which scanned clean https://www.virustotal.com/gui/file/4f7c279820fcb46c6d5bc1cf1c733770d04ec62cbba382fa9ca78a17c99968d6

I suspect it's some sort of weird false positive, but I thought you should know in case there is in fact some problem or other people are experiencing this.

Git submodules via http not ssh and server base url not localhost

  1. After cloning the repo and running 'git submodule init' i had to edit the .git/config file to retrieve the server submodule via http rather than ssh:

[submodule "server"]
active = true
url = [email protected]:corda/node-server.git

updated to:

   url = https://github.com/corda/node-server

to avoid a public key error. I could then run git submodule update.

  1. On gcp i had to substitute localhost with the ip of the compute engine in /src/store/Actions.js:

export const SERVER_BASE_URL = "http://your_ip_address:8580";

to avoid a 'Network Error' and a failure to initialise the node explorer.

TextInput and Password components throwing Error: Invalid hook call.

Running the Node Explorer front end w/o packaging using "npm start" is failing due to an invalid hook call error being thrown by the TextInput and Password components on the landing page.

Assuming that the code is not breaking the Rules of Hooks this means mismatched versions of React and ReactDom or multiple versions of React being included in the app - but I don't think I am seeing that.

Running node 17.2.0 with npm 8.3.0. Output of "npm ls react" and "npm ls react-dom" below.

Full disclosure - to get the build to succeed I had to modify r3-tooling-design-system/r3-tooling-design-system-dev/package.json by changing:

"prepare": "husky install",

to

"prepare": "cd ../.. && husky install",

as without this change the build would fail with a "no .git found" error but don't believe that should have adverse effects.

node-explorer$ npm ls react --depth=1
[email protected] /node-explorer
├─┬ @material-ui/[email protected]
│ └── [email protected] deduped
├─┬ @material-ui/[email protected]
│ └── [email protected] deduped
├─┬ r3-tooling-design-system@npm:@r3/[email protected] -> ./r3-tooling-design-system/r3-tooling-design-system-dev
│ └── [email protected]
├─┬ [email protected]
│ └── [email protected] deduped
├─┬ [email protected]
│ └── [email protected] deduped
├─┬ [email protected]
│ └── [email protected] deduped
├─┬ [email protected]
│ └── [email protected] deduped
├── [email protected]
└─┬ [email protected]
  └── [email protected] deduped
node-explorer$ npm ls react-dom --depth=1
[email protected] /node-explorer
├─┬ @material-ui/[email protected]
│ └── [email protected] deduped
├─┬ @material-ui/[email protected]
│ └── [email protected] deduped
├─┬ r3-tooling-design-system@npm:@r3/[email protected] -> ./r3-tooling-design-system/r3-tooling-design-system-dev
│ └── [email protected]
├── [email protected]
└─┬ [email protected]
  └── [email protected] deduped

trojan in one of your dependencies, supply chain attack...

I did empty NPM cache, mine at C:\Users\{username}\AppData\Roaming\npm-cache

git clone https://github.com/corda/node-explorer.git
npm install

a Windows Defender scan find:
virus Trojan:Win32/Woreflint.A!cl

file: C:\Users\{username}\AppData\Roaming\npm-cache\_cacache\content-v2\sha512\81\8f\400685798e1ebb22b3c4c05f3547c97d2f013746a1d4c94deb20a8adc2a3292a1a653793990ba5841ce5cedd787088b08896bf4b2c8e8e3e1af76e6b5022->(GZip)->package/win/ia32/app-builder.exe

Can't connect via ssh

Hi,

I can't connect to the node using ssh, because "connect" button is unavailable unless I put rpc settings in as well.

Screenshot:
image

I'm using latest mac version.

Version Mismatch

React version inside the r3-tooling-design-system is higher than the root file

Deployment inside Kubernetes cluster : using Corda node service names

I've used Docker files to docker'ise both FE & BE for node explorer
Deployed inside of Kubernetes cluster & updated the node-server endpoints in node-explorer Action.js to actual public facing node-server url

So, UI launches and shows UI input fields needed for auth
As you know, this only happens if UI can reach BE , otherwise it would have been in infinite load Also, I see succesful codes (200s) for BE calls

But there is an issue between node-server to CORDA node rpc endpoint connection

I use dns resolvable names from inside cluster, so instead of localhost it is similar to docker-compose
As example : "partya" with rpc port "10006"

From node-server container, corda node service "partya" with its rpc port is reachable
Confirmed by :

  • curl
  • netcat for open ports
  • nslookup resolution succesfull

When I port forward the CORDA container from cluster to localhost port and use with local deployment like localhost:10006 - it works

When BE tries to use something except the localhost, BE waits like 1 min and returns "Uncaught exception during scan" with 200 code .
node-server doesn't log anything during that /login call sent to BE, even taking into account that BE responds with 200 at the end

What can be an issue?
Is there way to see where this /login call stalls?
Is there way to enable additional logging on node-server side?

Cannot Open on Mac OSX

Version

Corda Explorer: Corda.Node.Explorer-0.1.2.dmg
Mac OS: macOS Monterrey Version 12.4
Mac mini (M1,2020)

Message

NETWORK ERROR

image

Corda node explorer not open on Windows 11

Not is possible to open node-explorer. Error JavaScript
A JavaScript error occurred in the main process
Error: spawn java ENOENT

Version : Corda.Node.Explorer.Setup.0.1.2
Captura de tela 2022-03-09 201403

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.