본문으로 건너뛰기

이메일 #146 - #150

원본 출처: Satoshi - Sirius emails 2009-2011

이메일 #146

Date: Thu, 04 Feb 2010 19:33:26 +0000
From: Satoshi Nakamoto <[email protected]>
Subject: UTF-8 to ANSI hack in CAboutDialog
To: Martti Malmi <[email protected]>

영어 원문

What was the reason for this change?

#if !wxUSE_UNICODE
...
if (str.Find('Â') != wxNOT_FOUND)
str.Remove(str.Find('Â'), 1);
to:
if (str.Find('�') != wxNOT_FOUND)
str.Remove(str.Find('�'), 1);

wxFormBuilder turns the (c) symbol into UTF-8 automatically. On
wxWidgets-2.8.9 ansi, it shows as a copyright symbol with an extra trash
character, which this hack fixes up for the non-unicode (ansi) case.

이메일 #147

Date: Thu, 04 Feb 2010 19:59:48 +0000
From: Satoshi Nakamoto <[email protected]>
Subject: Re: Bitcoin API
To: [email protected]

영어 원문

Good, then no need to consider d-bus.  Is there something like IPC 
sockets on Windows? I guess we could look how wx does it, or maybe the
XML-RPC library will already know what to do. Windows has named pipes,
maybe that's the best analogue.

I don't think I want to invent my own RPC protocol, I want to use an
existing standard. PHP, Java, Python or anything will be able to talk
to the server directly the same way the command line commands do.

I'm going to start reading on XML-RPC. It's coming up in searches as
the most widely used protocol and widely supported. PHP includes it in
its standard libraries.

>> Is it possible to open a socket that can only be accessed locally?
>
> Yes, you can use IPC sockets ("Unix domain sockets") which are local
> only. That's done in the wx-api by using a filename in place of a port
> number. I committed an example of how the wxServer-Client communication
> is used, you can revert if you want to. Now there's the -blockamount
> command line option which asks the running instance for the block chain
> length.
>
> I think this command line method could already be used from PHP, but it
> might be lighter if php itself could call the socket server directly.
> The wx's IPC overview mentions wxSocketEvent, wxSocketBase,
> wxSocketClient and wxSocketServer as being "Classes for the low-level
> TCP/IP API", which might be easier to use from php than what I used now
> (wxServer, wxClient, wxConnection). I'll look more into it.
>
>
>

이메일 #148

Date: Fri, 05 Feb 2010 04:08:54 +0000
From: Satoshi Nakamoto <[email protected]>
Subject: Re: Bitcoin API research status
To: Martti Malmi <[email protected]>

영어 원문

I noticed this in the docs for wxSocketServer::Accept(bool wait = true):
"If wait is true and there are no pending connections to be accepted, it
will wait for the next incoming connection to arrive. **Warning: This
will block the GUI."

wxWidgets is pathologically single-threaded. Not only single-threaded,
but must-be-the-GUI-thread-ed. Even for something as non-UI as
wxStandardPaths I got nailed. All this is fine for UI code, since this
is the same constraint placed by Windows anyway, but for UI-less server
daemon code, wx calls are uncertain.

Status of my research currently:

For PHP, Python, etc to access the server, we need to use regular
sockets. I think we can make it local-only by binding to localhost
only, so it can only be accessed through the loopback. They say it's
also watertight to simply check the IP of connections received and
disconnect anything not 127.0.0.1. May as well do both.

XML-RPC is a bit fat. There are 4 libraries for C++ but they're all big
and hard to build, dependencies, license issues. Some posters complain
all the C++ and PHP XML-RPC libraries are buggy.

JSON-RPC is a simpler more elegant standard. It's simple enough I could
use a generic JSON parser.

PHP, Python and Java all have good implementations of JSON-RPC.

I'm currently leaning towards JSON-RPC.

이메일 #149

Date: Fri, 05 Feb 2010 09:16:23 +0200
From: [email protected]
To: Satoshi Nakamoto <[email protected]>
Subject: Re: UTF-8 to ANSI hack in CAboutDialog

영어 원문

I didn't change it knowingly, must have been some encoding problem.

> What was the reason for this change?
>
> #if !wxUSE_UNICODE
> ...
> if (str.Find('Â') != wxNOT_FOUND)
> str.Remove(str.Find('Â'), 1);
> to:
> if (str.Find('�') != wxNOT_FOUND)
> str.Remove(str.Find('�'), 1);
>
> wxFormBuilder turns the (c) symbol into UTF-8 automatically. On
> wxWidgets-2.8.9 ansi, it shows as a copyright symbol with an extra
> trash character, which this hack fixes up for the non-unicode (ansi)
> case.

이메일 #150

Date: Fri, 05 Feb 2010 09:56:16 +0200
From: [email protected]
To: Satoshi Nakamoto <[email protected]>
Subject: Re: Exchange options

영어 원문

Liberty Reserve sounds good. I could first make a service that only  
accepts LR, and add more options later. The weakness is that buying LR
is an extra step of inconvenience when the customer just wants to get
Bitcoins. But maybe I don't have too much choice here.

> Do you have electronic transfer or paper cheque in your country? (even
> if only within Europe)

Yes, electronic bank transfer is available. During 2010 most European
countries will become a part of SEPA (Single Euro Payments Area),
which means that all payments within Europe are to be considered
domestic. Banks will have to apply the same fees and standards to all
domestic transfers, so they'll probably all be free of charge and
complete in one bank day. For international transfers there's the
SWIFT/IBAN system, which usually costs some extra.

A longer term project for my exchange service would be to see what
kinds of integration options the banks have to offer. Bank transfers
would reach nearly as many customers as credit cards do.
링크 복사하기X에 공유페이스북에 공유쓰레드에 공유