Martti Malmi 通信

回复:Bitcoin API

中本聪 · 2010 年 2 月 3 日

SN-10138 附来源、原文与上下文。

阅读语言

有没有办法查明缺少的是哪些共享库?知道这一点会有帮助。

Is there any way to find out what the missing shared libraries are? It would help to know.

可能需要 GTK 库,如果是这样,64 位版也会有同样问题。我希望只有一个可执行文件,而且也能在没有界面的系统上运行,但不确定在 Linux 上,如何链接某些库,同时在库不存在时仍能运行、只是不使用它们。也许我们应该静态链接 GTK。许可证方面,它采用 LGPL,但因为只在 Unix 上使用,所以没问题。(Windows 上不能链接 LGPL 的东西,因为我们提供 OpenSSL DLL;但 Linux 上 OpenSSL 是操作系统自带的。)

It probably needs the gtk libraries, in which case you'll have the same problem with the 64-bit version. I would like to have a single executable that can also run on a UI-less system, but I'm not sure how on linux to link to things but still be able to run and not use them if the library is not present. Maybe we should statically link the GTK. Licensewise, it's LGPL, but since it's only used on unix, that would be OK. (we can't link LGPL stuff on windows because we provide the OpenSSL DLL, but on linux OpenSSL comes with the OS)

附件是我的 64 位可执行文件(已去除调试信息)。其中包含尚未测试、还没提交到 SVN 的修改:界面改动,以及钱包 fSpent 标记的重新同步相关内容。

My 64-bit (debug stripped) executable is attached. It includes untested changes that are not in SVN yet: UI changes and the wallet fSpent flag resync stuff.

我一直在研究进程间调用方案。我希望各种服务器端语言,尤其是 PHP,都能轻松调用它。如果还能跨平台支持 Windows,就更好。

I've been researching options for interprocess calling. I want something that will be easy for a variety of server side languages to call, particularly PHP. Cross-platform to windows is a plus.

我还不确定是否希望它能够通过网络访问。那会带来安全问题。如果只能在本机访问,本地安全认证就能覆盖它,也就不可能被远程攻破。

I'm not sure if I want it to be something that can be accessed across the network. That would introduce security issues. If it can only be accessed on the local system, then local security authentication covers it, and it is incapable of being hacked remotely.

目前只粗略了解,还没深入细节,领先的候选方案有: D-Bus: 仅限本机 qt、gnome 和 skype 都在使用 语言绑定:c、python、java、c++, php 列为“进行中” .net 列为无人维护 不确定在 Windows 上成熟到什么程度 XML-RPC: 使用广泛,PHP 有内置库 更偏向 Web 客户端与服务器通信,传输使用 HTTP,所以有安全问题

At surface level, not looking into any details yet, the current front runners are: D-Bus: local system only used by qt, gnome and skype bindings: c, python, java, c++, php listed as "in progress" .net listed as unmaintained not sure how ready it is on windows XML-RPC: widely used, built in libraries on PHP it's more for web clients to talk to server, transport is http, so its a security question

能不能打开一个只允许本机访问的套接字?

Is it possible to open a socket that can only be accessed locally?

引用 Martti Malmi 的文字Martti Malmi来源 ↗

你决定 Bitcoin API 使用哪种进程间调用方法了吗?一个简单方案是 wxWidgets 提供的套接字接口: http://docs.wxwidgets.org/trunk/overview_ipc.html。让 Bitcoin 程序运行 wxServer,然后就能从命令行调用 bitcoin 可执行文件来访问,或者自己编写 wxClient 应用。

Have you decided upon the inter-process calling method of the Bitcoin API yet? An easy solution would be the socket interface provided by wxWidgets: http://docs.wxwidgets.org/trunk/overview_ipc.html. The Bitcoin program running a wxServer could be then accessed by calling the bitcoin executable from the command line or by coding your own wxClient app.

另一个选择是直接使用普通 BSD 套接字。

Another option would be to just use the plain BSD sockets.

如果你有 64 位 Linux 的 Bitcoin 二进制文件,能发给我吗?我试过在 VPS 上编译,但内存耗尽了。也试过 32 位版本(配合 ia32-libs),但找不到共享库。

Can you send me a 64-bit Linux binary of Bitcoin if you have one? I tried compiling on the VPS, but it ran out of memory. Tried the 32-bit version (with ia32-libs) also, but it didn't find the shared libraries.

来源

阅读字号

选择适合你的字号,之后阅读会继续使用。