Multichain Web Explorer on windows -

+5 votes

Hello, 
I know multichain web explorer is built to run on Linux, but somehow I succeed on installing on windows. 

After the installation, I modified the .conf file and when I launch the command "python -m Mce.abe --config chain1.conf --commit-bytes 100000 --no-serve" seems the connection went well because I get a bunch of "block_tx 733 2428"; 

First strange behaviour: when I launch a second time the same command, I got an error "RPC failed: [Errno socket error] [Errno 10061] No connection could be made because the target machine actively refused it". 

This sound strange to me. Why first time succeed and second time not ?

However, When I launch the explorer and serve web pages with the command "python -m Mce.abe --config chain1.conf" I get the same error as above "RPC failed: [Errno socket error] [Errno 10061] No connection could be made because the target machine actively refused it".

I can see the web explorer in "http://localhost:2750" but I have the same error on the web page: "No Connection" and "[Errno socket error] [Errno 10061] No connection could be made because the target machine actively refused it" also if I can see a certain number of blocks and a certain number of transactions.

My question is, why it let me connect for sqlite3 db population, but just first time ?

My first thought is that I must authorize the address for connection because of flag "anyone-can-connect = false"  , but where I can find the address used by the web explorer for connection ? I mean, if I launch on DOS CLI the multichaind.exe command, kindly the multichain server reply that I must authorize a certain address before connection, but here, where I can find the address ? How I can set it in a way that I don't need to re-authorize it every time I launch the web explorer ?

Then after found the address I guess I must modify the chain1.conf configuration file. I searched for abe.conf and found here: "https://github.com/bitcoin-abe/bitcoin-abe/blob/master/abe.conf" that I can insert in the configuration file a "user" and "password". For password I must use the address ? and for user, what I must use ? I must use the parameters in "multichain.conf" ?

Yes, I tried also the docker version of the web explorer but I found some other different problems (basically I can't access the web server on port 2750) , but maybe I will ask in a separate Question.

Thanks for any help.

 

asked Aug 25, 2017 by Gianni

1 Answer

+2 votes

The Explorer access the blockchain in two different ways – by reading the blockchain files on disk, and by accessing the API of a running MultiChain node. Based on what you report it seems that the first part worked OK, but the second did not, because the Explorer is not able to connect to the JSON-RPC API of MultiChain.

This is not related to anyone-can-connect because that is about permissioning of the peer-to-peer connections between nodes in the network, not the access to a single node's API.

On Linux the MultiChain Explorer automatically picks up the RPC user, password and port from the node's multichain.conf file, so perhaps there is a way to manually configure it with those details on Windows. You could look in the source code to find out. In any event, these details are nothing to do with the node's address(es).

answered Aug 25, 2017 by MultiChain
Thank you for your fast and good reply.
I resolved my problem, I was not configuring the right rpcport because it ask to modify the multichain.conf file and that sound strange to me (Why the program simply doesn't read the params.dat file as it do for the multichain.conf file ?)
However, I would like to share my experience on installing the multichain web explorer on windows so this is my contribute.
To install locally on a windows SO based PC, the only difficulty I found was during the installation of prerequisites, that I skipped simply using an anaconda installation (remember to use 2.7 anaconda or build a new environment. Ask here for directions). One package was out of anaconda: pycripto and unfortunately  were not possible to install on windows because it need C++ library, just on Linux. But I found here https://stackoverflow.com/questions/11405549/how-do-i-install-pycrypto-on-windows some directions and with this simply command: easy_install http://www.voidspace.org.uk/python/pycrypto-2.6.1/pycrypto-2.6.1.win32-py2.7.exe I was able to install the last prerequisite.
Another thing were you need to pay attention is in the configuration file were you must use double slash instead of a single slash because now you are on windows, so
        "dirname": "D:\\multichain\\MyChain",
instead of simply:
        "dirname": "D:\multichain\MyChain",

For the remaining, was just a breeze.
Great, thanks for posting this information.
Great Job :)
...