public static CryptoNote.INode createNode(string daemonAddress, ushort daemonPort, Logging.ILogger logger)
        {
            std::unique_ptr <CryptoNote.INode> node = new std::unique_ptr <CryptoNote.INode>(new CryptoNote.NodeRpcProxy(daemonAddress, daemonPort, logger));

            NodeInitObserver initObserver = new NodeInitObserver();

            node.init(std::bind(NodeInitObserver.initCompleted, initObserver, std::placeholders._1));
            initObserver.waitForInitEnd();

            return(node.release());
        }