본문으로 건너뛰기

이메일 #066 - #070

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

이메일 #066

Date: Sun, 08 Nov 2009 17:39:39 +0000
From: Satoshi Nakamoto <[email protected]>
Subject: Re: Linux build ready for testing
To: Liberty Standard <[email protected]>
Cc: Martti Malmi <[email protected]>

한글 번역

debug.log를 보면 블록 목록을 요청하고, 블록 목록을 받은 뒤, 요청받은 블록들의 목록을 올리기 시작합니다. 블록 자체는 받지 못했는데, 받을 시간이 충분히 있었는지 확신할 만큼 오래 실행하지는 않았습니다. 그 외에는 모두 정상으로 보입니다.

프로그램을 얼마나 오래 실행하셨나요? 블록 내려받기가 시작되기까지 몇 분 정도 걸릴 수 있습니다. 특히 케이블 모뎀을 쓰고 계시다면 업로드 대역폭이 훨씬 낮을 수 있어서 블록 요청 목록을 올리는 데 시간이 좀 걸립니다.

다시 실행해도 블록을 내려받지 못하면, 최소 몇 시간은 계속 실행해 두었다가 debug.log를 보내 주세요. 그러면 제 노드가 당신에게 연결할 시간이 생길 테니, 제 쪽에 무엇이라고 나오는지 확인하고 당신의 debug.log와 대조해 볼 수 있을 겁니다.

닫을 때 최소화 옵션에 대한 지적은 맞습니다. 굳이 종속 옵션으로 둘 이유가 없습니다. 마르티가 원래는 별도 옵션으로 만들어 두었는데 제가 하위 옵션으로 바꾼 것이니 제 잘못입니다. 다시 원래대로 돌려 놓겠습니다.

Liberty Standard 님께서 쓰셨습니다:

제가 말한 게 바로 그겁니다. 프로그램을 실행하는 동안 상태 표시줄에 표시된 블록 수가 전혀 늘지 않았습니다. 제 debug.log를 첨부합니다.

Gnome에서 트레이 아이콘을 시험하는 좋은 방법은 알림 영역을 없앴다가 다시 추가하는 것입니다. 알림 영역을 다시 추가한 뒤에도 아이콘이 계속 표시되면 제대로 동작하는 겁니다.

저는 보통 프로그램 설정에서 트레이로 최소화하지 않고 트레이로 닫도록 설정합니다. 그리고 프로그램은 최소화된 상태로 둡니다. 이렇게 하면 실수로 프로그램을 닫을 일이 없고, 트레이에서 프로그램을 열 수 있는 편리함도 그대로 누릴 수 있습니다. ('작업 표시줄'에 열린 창을 표시하지는 않지만, 누르면 열린 창을 하위 메뉴 항목으로 보여주는 아이콘을 쓰고 있습니다.) 그러다 트레이 아이콘이 사라지면 설정에 들어가 트레이 아이콘 설정을 껐다가 다시 켜서 나타나게 합니다. 지금은 비트코인 설정에서 트레이로 최소화 확인란을 켜지 않으면 트레이로 닫기 확인 표시를 켤 수 없어서 그게 안 됩니다.

2009년 11월 8일 일요일 오전 9시 8분, Satoshi Nakamoto <[email protected] <mailto:satoshin@gmx.com>> 님께서 쓰셨습니다:

Liberty Standard 님께서 쓰셨습니다:

내려받아서 실행해 봤습니다. 잘 실행되고 CPU도 꽤 많이 쓰고 있어서 제대로 동작하는 것 같습니다. 예전에 만들어진 블록들은 내려받지 못했습니다. 버그인가요, 아니면 새로 바뀐 기능인가요?

상태 표시줄의 블록 수가 26600쯤까지 올라가지 않는다는 말씀이시라면 그건 버그입니다. debug.log를 보내 주셔야 합니다. (경로는 ~/.bitcoin/debug.log입니다)

Gnome의 시스템 트레이는 그다지 안정적이지 않습니다. 가끔 아이콘이 사라져서 프로그램으로 돌아갈 방법이 없어집니다. 비트코인에서도 이런 일이 생긴다는 것을 확인했습니다. 비트코인이 이미 실행 중일 때 비트코인을 다시 실행하면, 이미 실행 중인 비트코인 프로세스의 화면을 그냥 띄워 주면 좋겠습니다.

리눅스에서는 윈도우처럼 이미 실행 중인 프로그램을 찾아서 띄우는 방법을 아직 찾지 못했습니다. 말씀하신 것을 보니, 적어도 트레이로 최소화 옵션은 처음부터 기본으로 꺼 두어야겠습니다.

영어 원문

In the debug.log, it requests the block list, receives the block list, 
then begins uploading the list of blocks requested. It doesn't receive
the blocks, but it didn't run long enough for me to be sure it would
have had time yet. Everything else looks normal.

How long did you run it? It could take a few minutes to start
downloading the blocks. Especially if you're on a cable modem, the
uplink can be much lower bandwidth so it would take some time to upload
the block request list.

If you run it again and it still doesn't download blocks, keep it
running for several hours at least and then send me the debug.log. That
should give it time for my node to connect to you and I could see what
it says on my side and correlate it with your debug.log.

You're right about the minimize on close option, there's no reason that
can't be separate. Martti originally had it separate and I made it a
sub-option, my bad. I'll change it back.

Liberty Standard wrote:
> That is what I meant. The blocks displayed in the status bar did not
> increase at all while i ran the program. I have attached my debug.log.
>
> A good way for you to test the tray icon in Gnome is to remove the
> notification area and then add it back. If the icon is still displayed
> after adding the notification back, then it's working correctly.
>
> I generally set application preferences to not minimize to the tray, but
> to close to the tray. And I keep the application minimized. That way I
> don't accidentally close the program and still have the convenience of
> being able to open the application from the tray. (I don't display open
> windows in the 'task bar' but I have an icon that if clicked displays
> open windows as sub-menu items.) Then if the tray icon disappears, I go
> into the settings disable and re-enable the tray icon setting to get it
> to reappear. That's currently not possible with the bitcoin preferences
> because the close to tray check mark can not be enabled without the
> minimize to tray check box being enabled.
>
>
> On Sun, Nov 8, 2009 at 9:08 AM, Satoshi Nakamoto <[email protected]
> <mailto:[email protected]>> wrote:
>
> Liberty Standard wrote:
>
> I downloaded it and it runs. It and it is using plenty of CPU,
> so I think it's working properly. It has not downloaded
> previously generated blocks. Is that a bug or a new feature?
>
>
> If you mean the blocks count in the status bar isn't working its way
> up to around 26600, then that's a bug, you should send me your
> debug.log. (which is at ~/.bitcoin/debug.log)
>
>
> The system tray in Gnome is not very reliable. Sometimes an icon
> will disappear leaving no way to get back to the program. I have
> verified that this can happen with bitcoin. It would be nice if
> starting bitcoin while it's already running would just bring up
> the GUI of the already running bitcoin process.
>
>
> We haven't figured out how to find and bring up the existing running
> program yet on Linux like it does on Windows. Given what you say, I
> should at least turn off the minimize to tray option initially by
> default.
>
>

이메일 #067

Date: Sun, 08 Nov 2009 18:48:38 +0000
From: Satoshi Nakamoto <[email protected]>
Subject: Re: Forum
To: [email protected]

한글 번역

저는 그런 식의 포럼 화면 구성은 별로 좋아하지 않습니다. 한 페이지에 글타래 목록이 네 개 정도밖에 들어가지 않고, 게시물은 뉴스 기사나 블로그 글처럼 취급되며 밑에 답글 댓글이 달립니다. 기술 토론에 어울리기보다는 소셜 네트워킹 사이트에 가깝습니다.

저는 phpBB나 IPB 같은 것을 생각하고 있습니다. 글타래마다 한 줄의 글, 작은 글자, 세로 공간을 효율적으로 쓰는 방식이죠. 대부분 사람들이 이미 그 화면에 익숙합니다.

[email protected] 님께서 쓰셨습니다:

시험 삼아 ning.com 사이트를 만들었습니다: bitcoin.ning.com. 쓰지 않더라도 거기 두면 구글 검색에는 걸리니까요.

bitcoin.sourceforge.net의 포럼이 자리를 잡아가는 지금, 제대로 된 포럼 소프트웨어를 무료로 올려주는 곳을 정말 찾아봐야 합니다. bitweaver 포럼 기능은 너무 가볍습니다. 홈페이지의 "Forum" 탭은 포럼이 있는 곳으로 바깥 연결을 걸 수 있다고 봅니다.

코드도 아직 없으면서 포럼 이야기와 뜬구름 잡는 계획만으로 큰 호응을 얻는 프로젝트들을 봤습니다. 포럼 이야기가 많으면 그 프로젝트가 그물망에서 존재감이 커지고, 검색 결과도 많아지고, 커 보이고, 새 사용자를 끌어들이고, 지원 질문을 해결하는 데 도움이 되고, 가장 원하는 기능이 무엇인지 정리하는 데 도움이 됩니다.

로그인 페이지라도, 사이트 전체가 아니더라도 SSL을 지원하면 큰 장점이 될 겁니다. 포럼에서 여러 사람이 TOR/I2P에 관심을 보였는데, 그런 사용자들에게는 SSL이 필요합니다. TOR 종료 노드 중에는 신원 도용범들이 운영하는 비밀번호 수집기가 많을 테니까요. 비트코인에 대한 핵심 관심의 상당 부분은 사생활 보호 쪽 사람들로부터 나올 겁니다.

무료 포럼을 어디서 구할 수 있을지 아이디어 있으신가요? 다른 프로젝트들의 포럼이 어디에 있는지 보면 어디를 알아볼지 감이 올지도 모릅니다.

영어 원문

I'm not really a fan of that type of forum layout.  The thread list only 
fits about 4 threads on a page, posts are treated like news articles or
blog posts with reply comments at the bottom. It's more of a social
networking site, not really conducive to technical discussion.

I'm thinking phpBB or IPB or similar. One line of text per thread,
small fonts, efficient use of vertical space. Most people are already
familiar with the interface.

[email protected] wrote:
> I made a ning.com site for testing: bitcoin.ning.com. At least it's
> there to get Google hits, even if we didn't use it.
>
>> Now that the forum on bitcoin.sourceforge.net is catching on, we really
>> should look for somewhere that freehosts full blown forum software.
>> The bitweaver forum feature is just too lightweight. I assume the
>> "Forum" tab on the homepage can link out to wherever the forum is
>> hosted.
>>
>> I've seen projects that have major following just from forum talk and
>> pie-in-the-sky planning without even having any code yet. Having a lot
>> of forum talk gives a project more presence on the net, more search
>> hits, makes it look big, draws new users in, helps solve support
>> questions, hashes out what features are most of wanted.
>>
>> It would be a big plus if it could support SSL, at least for the login
>> page if not sitewide. Multiple people on the forum have expressed
>> interest in TOR/I2P, and those users need SSL because a lot of TOR exit
>> nodes are probably password scrapers run by identity thieves. A lot of
>> the core interest in Bitcoin is going to be from the privacy crowd.
>>
>> Any ideas where we can get a free forum? Maybe we should look at where
>> some other projects have their forums hosted for ideas where to look.
>
>
>

이메일 #068

Date: Mon, 09 Nov 2009 01:23:59 +0000
From: Satoshi Nakamoto <[email protected]>
Subject: Re: Linux build ready for testing
To: Liberty Standard <[email protected]>
Cc: Martti Malmi <[email protected]>

한글 번역

Liberty Standard 님께서 쓰셨습니다:

알겠습니다, 이제 블록이 늘어나기 시작했습니다. 윈도우 버전보다 늘어나기 시작하는 데 확실히 더 오래 걸립니다. 그리고 윈도우 버전보다 늘어나는 속도도 느린 것 같습니다. 보내 주신 리눅스 빌드에는 디버깅 기능이 켜져 있는 건 아닌가요? 블록이 초당 15개 정도씩 늘고 있습니다(시계를 보면서 눈대중으로 잰 겁니다). 윈도우 버전에서 얼마나 빨리 늘었는지는 재지 않았지만, 훨씬 빨랐던 것 같습니다.

시작하는 데 대략 얼마나 걸렸나요? 우연히 요청하게 된 노드가 느렸을 수 있습니다. 시작이 느리다면 내려받기 속도가 느린 것과도 들어맞습니다.

지금의 debug.log 파일을 보고 무슨 일인지 파악해 보고 싶습니다. 반대쪽 연결이 정말 느린 것일 수도 있고, 뭔가 잘못되어 실패했다가 다시 시도한 것일 수도 있습니다. 너무 오래 걸리면 다른 사용자들도 헷갈릴 수 있습니다.

마르티, 당신이 실행했을 때는 블록 내려받기가 시작되는 데 얼마나 걸렸고, 속도는 얼마나 빨랐나요?

bitcoin을 실행하는데 비트코인 포트를 쓸 수 없을 때, 명령줄에 다음과 같은 메시지가 나옵니다. 비트코인 포트를 쓸 수 있을 때는 이런 메시지가 안 나옵니다. 기본 포트가 사용 중이면 비트코인이 다른 포트를 고를 수는 없나요? 제 비트토렌트 클라이언트도 가끔 똑같은 일이 생깁니다. 다시 시작하면 이전에 열려 있던 포트가 닫혀 있습니다. 포트만 바꾸면 다시 잘 동작합니다.

/usr/lib/gio/modules/libgvfsdbus.so: wrong ELF class: ELFCLASS64 Failed to load module: /usr/lib/gio/modules/libgvfsdbus.so /usr/lib/gio/modules/libgioremote-volume-monitor.so: wrong ELF class: ELFCLASS64 Failed to load module: /usr/lib/gio/modules/libgioremote-volume-monitor.so /usr/lib/gio/modules/libgiogconf.so: wrong ELF class: ELFCLASS64 Failed to load module: /usr/lib/gio/modules/libgiogconf.so

그 프로그램은 이미 SO_REUSEADDR을 쓰고 있어서, 닫힌 뒤 TIME_WAIT 상태에 있는 포트에도 연결할 수 있습니다. 연결에 실패하는 경우는 프로그램이 정말로 이미 실행 중일 때뿐이어야 합니다. 두 개의 비트코인이 같은 컴퓨터에서 동시에 실행되면 안 됩니다. 데이터베이스를 동시에 고치게 되기 때문입니다. 코인 생성이 이제 여러 프로세서를 자동으로 쓰게 되었으니, 한 컴퓨터에서 두 개를 실행할 필요는 전혀 없습니다.

저 lib 오류들이 무엇인지는 잘 모르겠네요. 좀 찾아보겠습니다.

영어 원문

Liberty Standard wrote:
> Ok, blocks have now started to increase. It definitely takes longer for
> them to start increasing than with the Windows version. Also, I think
> they might be increasing at a slower rate than in with the Windows
> version. Is there perhaps debugging enabled in the Linux build that you
> sent me? Block are increasing at about 15 blocks per second (eyeball
> estimate while looking at a clock). I didn't time how fast they
> increased in the Windows version, but it seems like it was much faster.

About how long did it take to start? It could be the node that you
happened to request from is slow. The slow start is consistent with the
slow download speed.

I'd like to look at your current debug.log file and try to understand
what's going. It might just be a really slow connection on the other
side, or maybe something's wrong and failed and retried. Taking too
long could confuse other users.

Martti, how long did it take to start downloading blocks when you ran
it, and how fast did it download?

> When I launch bitcoin and the bitcoin port is not available, I get
> the following messages to the command line. I don't get those
> messages when the bitcoin port is available. Would it be possible
> for bitcoin to pick another port if the default port is taken? The
> same think sometimes happens to me with my BitTorrent client. When I
> restart it, my previously open port is closed. All I have to do is
> change the port and it starts working again.
>
> /usr/lib/gio/modules/libgvfsdbus.so: wrong ELF class: ELFCLASS64
> Failed to load module: /usr/lib/gio/modules/libgvfsdbus.so
> /usr/lib/gio/modules/libgioremote-volume-monitor.so: wrong ELF
> class: ELFCLASS64
> Failed to load module:
> /usr/lib/gio/modules/libgioremote-volume-monitor.so
> /usr/lib/gio/modules/libgiogconf.so: wrong ELF class: ELFCLASS64
> Failed to load module: /usr/lib/gio/modules/libgiogconf.so

It already uses SO_REUSEADDR so it can bind to the port if it's in
TIME_WAIT state after being closed. The only time it should fail to
bind is when the program really is already running. It's important that
two copies of Bitcoin not run on the same machine at once because they
would be modifying the database at the same time. There is never any
need to run two on one machine as coin generation will now use multiple
processors automatically.

I'm not sure what those lib errors are, I'll do some searching.

이메일 #069

Date: Mon, 09 Nov 2009 05:42:59 +0000
From: Satoshi Nakamoto <[email protected]>
Subject: Re: Linux build ready for testing
To: Liberty Standard <[email protected]>
Cc: Martti Malmi <[email protected]>

한글 번역

고맙습니다, 무슨 일이었는지 알겠습니다. 처음 상대가 느렸기 때문에 결국 다른 모두에게 블록을 요청하게 되었고, 그것만으로 전체가 더 느려졌습니다. 고칠 수는 있습니다. 올바른 방법이 무엇인지 좀 생각해 봐야겠습니다.

확정되지 않은 것이 있는 동안 종료해도 위험은 없습니다. 거래를 만들거나 새 블록을 만들면 즉시 그물망에 널리 알립니다. 그 뒤에 올라가는 #/확인 숫자는 그 결과를 지켜보는 것뿐입니다. 그 시간 동안 당신의 노드가 받아들여지도록 하기 위해 하는 일은 없습니다.

지금 생각해 보니, 비트코인을 닫으면 주 창은 바로 닫히지만 뒤에서는 데이터베이스를 질서 있게 비우고 종료하기 위해 계속 실행됩니다. 그전에는 죽어서 응답하지 않는 창이 그대로 남아 있는 게 귀찮아서 그렇게 만들었습니다. 뒤에서 질서 있게 종료될 때까지 포트가 잠겨 있는데, 끝나기 전에 다른 복사본이 데이터베이스를 건드리지 못하도록 하는 중요한 보호 장치입니다. 종료가 몇 초 이상 걸리는 경우는 보지 못했습니다.

Wine에서는 윈도우 버전이 SO_REUSEADDR을 쓸 방법이 없어서, 포트가 닫힌 뒤 TIME_WAIT으로 60초(제 컴퓨터 기준)가 추가될 겁니다.

두 복사본 사이에서 옮겨야 한다면 상대방의 비트코인 주소로 보내면 됩니다. 받는 쪽 복사본은 그때 켜져 있지 않아도 됩니다.

다른 데이터 디렉터리를 쓰는 명령줄은 이렇습니다 bitcoin -datadir=<directory>

예를 들어 리눅스에서는 기본 디렉터리가 이렇습니다(~는 쓰지 마세요) bitcoin -datadir=/home/yourusername/.bitcoin

보통은 이 스위치를 쓸 일이 전혀 없습니다. 그래도 두 개를 동시에 실행하게 해주지는 않습니다.

Liberty Standard 님께서 쓰셨습니다:

2009년 11월 9일 월요일 오전 3시 23분, Satoshi Nakamoto <[email protected] <mailto:satoshin@gmx.com>> 님께서 쓰셨습니다:

Liberty Standard 님께서 쓰셨습니다:

알겠습니다, 이제 블록이 늘어나기 시작했습니다. 윈도우 버전보다 늘어나기 시작하는 데 확실히 더 오래 걸립니다. 그리고 윈도우 버전보다 늘어나는 속도도 느린 것 같습니다. 보내 주신 리눅스 빌드에는 디버깅 기능이 켜져 있는 건 아닌가요? 블록이 초당 15개 정도씩 늘고 있습니다(시계를 보면서 눈대중으로 잰 겁니다). 윈도우 버전에서 얼마나 빨리 늘었는지는 재지 않았지만, 훨씬 빨랐던 것 같습니다.

시작하는 데 대략 얼마나 걸렸나요? 우연히 요청하게 된 노드가 느렸을 수 있습니다. 시작이 느리다면 내려받기 속도가 느린 것과도 들어맞습니다.

빨리 꾸준히 늘어나기 시작하는 데 30분쯤 걸렸습니다. 재미있게도, 꾸준히 늘어나기 시작하기 전에 CPU 사용량이 늘었다가 꾸준히 늘어나기 시작하자 내려갔습니다. 다만 이번에는 처음 몇 분 안에 블록이 2까지 늘었습니다. 아직 비트코인을 하나도 만들지 못했습니다. 참을성이 닿는 데까지 기다려서 비트코인 하나를 만들어 보겠지만, 참을성을 잃을 때까지 하나도 안 나오면 wine 버전으로 돌아갈 겁니다.

지금의 debug.log 파일을 보고 무슨 일인지 파악해 보고 싶습니다. 반대쪽 연결이 정말 느린 것일 수도 있고, 뭔가 잘못되어 실패했다가 다시 시도한 것일 수도 있습니다. 너무 오래 걸리면 다른 사용자들도 헷갈릴 수 있습니다.

지금의 debug.log를 첨부했습니다.

마르티, 당신이 실행했을 때는 블록 내려받기가 시작되는 데 얼마나 걸렸고, 속도는 얼마나 빨랐나요?

bitcoin을 실행하는데 비트코인 포트를 쓸 수 없을 때 명령줄에 다음과 같은 메시지가 나옵니다. 비트코인 포트를 쓸 수 있을 때는 이런 메시지가 안 나옵니다. 기본 포트가 사용 중이면 비트코인이 다른 포트를 고를 수는 없나요? 제 비트토렌트 클라이언트도 가끔 똑같은 일이 생깁니다. 다시 시작하면 이전에 열려 있던 포트가 닫혀 있습니다. 포트만 바꾸면 다시 잘 동작합니다.

/usr/lib/gio/modules/libgvfsdbus.so: wrong ELF class: ELFCLASS64 Failed to load module: /usr/lib/gio/modules/libgvfsdbus.so /usr/lib/gio/modules/libgioremote-volume-monitor.so: wrong ELF class: ELFCLASS64 Failed to load module: /usr/lib/gio/modules/libgioremote-volume-monitor.so /usr/lib/gio/modules/libgiogconf.so: wrong ELF class: ELFCLASS64 Failed to load module: /usr/lib/gio/modules/libgiogconf.so

그 프로그램은 이미 SO_REUSEADDR을 쓰고 있어서, 닫힌 뒤 TIME_WAIT 상태에 있는 포트에도 연결할 수 있습니다. 연결에 실패하는 경우는 프로그램이 정말로 이미 실행 중일 때뿐이어야 합니다. 두 개의 비트코인이 같은 컴퓨터에서 동시에 실행되면 안 됩니다. 데이터베이스를 동시에 고치게 되기 때문입니다. 코인 생성이 이제 여러 프로세서를 자동으로 쓰게 되었으니, 한 컴퓨터에서 두 개를 실행할 필요는 전혀 없습니다.

두 개를 동시에 실행하는 이유는 한 비트코인 복사본에서 다른 비트코인 복사본으로 비트코인을 옮기기 위해서입니다. 물론 서로 다른 데이터 디렉터리에 접근해야겠죠. 명령줄 인자로 지정할 수 있으면 좋겠습니다. 지금은 비트코인 데이터 폴더를 가상 컴퓨터로 옮겨서 이 작업을 해야 합니다. 비트코인을 종료했다가 다른 데이터 디렉터리로 다시 시작하는 건 형편없는 해결책입니다. 확정되지 않은 비트코인이 있는 동안 비트코인을 종료하면 그 비트코인을 잃을 위험이 있기 때문입니다.

바쁜 포트 오류가 날 때 비트코인은 확실히 실행 중이 아니었습니다. 제 경험으로는 프로세스가 빠르고 안정적으로 닫히지만, 포트가 다시 사용 가능해지기까지 30초에서 3분 정도(기억에 의존한 어림짐작입니다) 걸립니다. wine의 비트코인 0.1.5에서 리눅스 빌드로 바꿀 때, 그리고 리눅스 빌드에서 wine의 비트코인 0.1.5로 바꿀 때 생겼습니다.

또 하나 알아차린 건 정보 대화 상자의 글자가 제대로 들어맞지 않고 크기 조절도 안 된다는 것입니다.

저 lib 오류들이 무엇인지는 잘 모르겠네요. 좀 찾아보겠습니다.

영어 원문

Thanks for that, I see what happened.  Because the first one was slow, 
it ended up requesting the blocks from everybody else, which only bogged
everything down. I can fix this, I just need to think a while about the
right way.

There's no risk in shutting down while there are unconfirmed. When you
make a transaction or new block, it immediately broadcasts it to the
network. After that, the increasing #/confirmed number is just
monitoring the outcome. There's nothing your node does during that time
to promote the acceptance.

Now that I think about it, when you close Bitcoin, it closes the main
window immediately but in the background continues running to finish an
orderly flush and shutdown of the database. Before I implemented that,
it was annoying having a dead hung unresponsive window hanging around.
Until it finishes the orderly shutdown in the background, the port would
be locked, and this is an important protection to make sure another copy
can't touch the database until it's done. I haven't seen the shutdown
take more than a few seconds.

In Wine, there's no way for the Windows version to do SO_REUSEADDR, so
that would add 60 seconds (on my system) of TIME_WAIT after the port is
closed.

If you need to transfer between two copies, you could send it to the
other's bitcoin address. The receiving copy doesn't have to be online
at the time.

The command line to use a different data directory is
bitcoin -datadir=<directory>

For example, on Linux, the default directory is (don't use ~)
bitcoin -datadir=/home/yourusername/.bitcoin

You shouldn't normally have any need to use this switch. It still won't
let you run two instances at once.

Liberty Standard wrote:
> On Mon, Nov 9, 2009 at 3:23 AM, Satoshi Nakamoto <[email protected]
> <mailto:[email protected]>> wrote:
>
> Liberty Standard wrote:
>
> Ok, blocks have now started to increase. It definitely takes
> longer for them to start increasing than with the Windows
> version. Also, I think they might be increasing at a slower rate
> than in with the Windows version. Is there perhaps debugging
> enabled in the Linux build that you sent me? Block are
> increasing at about 15 blocks per second (eyeball estimate while
> looking at a clock). I didn't time how fast they increased in
> the Windows version, but it seems like it was much faster.
>
>
> About how long did it take to start? It could be the node that you
> happened to request from is slow. The slow start is consistent with
> the slow download speed.
>
>
> It took about a half hour for it to start incrementing quickly.
> Interestingly, the CPU usage increased before it started to increment
> steadily and then lowered when it started to increment steadily.
> Although this time the block incremented to 2 within the first few
> minutes. I have not yet generated any bitcoins. I'll wait for as long as
> I have patience to generate a bitcoin, but if none are created by the
> time I lose patience, I'm going to move back to the wine version.
>
> I'd like to look at your current debug.log file and try to
> understand what's going. It might just be a really slow connection
> on the other side, or maybe something's wrong and failed and
> retried. Taking too long could confuse other users.
>
>
> I've included my current debug.log.
>
>
> Martti, how long did it take to start downloading blocks when you
> ran it, and how fast did it download?
>
>
> When I launch bitcoin and the bitcoin port is not available,
> I get
> the following messages to the command line. I don't get those
> messages when the bitcoin port is available. Would it be possible
> for bitcoin to pick another port if the default port is
> taken? The
> same think sometimes happens to me with my BitTorrent client.
> When I
> restart it, my previously open port is closed. All I have to
> do is
> change the port and it starts working again.
>
> /usr/lib/gio/modules/libgvfsdbus.so: wrong ELF class: ELFCLASS64
> Failed to load module: /usr/lib/gio/modules/libgvfsdbus.so
> /usr/lib/gio/modules/libgioremote-volume-monitor.so: wrong ELF
> class: ELFCLASS64
> Failed to load module:
> /usr/lib/gio/modules/libgioremote-volume-monitor.so
> /usr/lib/gio/modules/libgiogconf.so: wrong ELF class: ELFCLASS64
> Failed to load module: /usr/lib/gio/modules/libgiogconf.so
>
>
> It already uses SO_REUSEADDR so it can bind to the port if it's in
> TIME_WAIT state after being closed. The only time it should fail to
> bind is when the program really is already running. It's important
> that two copies of Bitcoin not run on the same machine at once
> because they would be modifying the database at the same time.
> There is never any need to run two on one machine as coin
> generation will now use multiple processors automatically.
>
>
> The reason I run two instances at the same time is to transfer bitcoins
> from one bitcoin instance to another. They of course would need to be
> accessing different data directories. Perhaps that could be specified as
> a command line argument. I currently have to move my bitcoin data folder
> to a virtual machine to do this. Shutting down bitcoin and restarting it
> with a different data directory is a poor solution because shutting down
> bitcoin while there are unconfirmed bitcoins risks losing those bitcoins.
>
> Bitcoin was definitely not running when i get the busy port error. The
> process closes quickly and reliably from my experience, but it takes
> anywhere from 30 seconds to 3 minutes (estimation from memory) for the
> port to become available again. It occurred while switching from bitcoin
> 0.1.5 in Wine to the Linux build and again while switching from the
> Linux build to bitcoin 0.1.5 in Wine.
>
> Another thing that I noticed is that the about dialog text does not fit
> correctly and it cannot be resized.
>
> I'm not sure what those lib errors are, I'll do some searching.
>
>

이메일 #070

Date: Mon, 09 Nov 2009 10:32:08 +0200
From: [email protected]
To: Satoshi Nakamoto <[email protected]>
Cc: Liberty Standard <[email protected]>
Subject: Re: Linux build ready for testing

한글 번역

마르티, 당신이 실행했을 때는 블록 내려받기가 시작되는 데 얼마나 걸렸고, 속도는 얼마나 빨랐나요?

연결되고 나서는 아주 빨리 시작됐고, 내려받기도 CPU가 더 느린 제 윈도우 PC보다 빨랐습니다.

이제부터 한 달쯤은 학교 과제(우연히도 C++ 코딩입니다)에 집중해야 해서, 12월까지는 활발히 개발할 시간이 별로 없습니다. 그래도 계속 연락합시다.

Liberty Standard 님께서 쓰셨습니다:

알겠습니다, 이제 블록이 늘어나기 시작했습니다. 윈도우 버전보다 늘어나기 시작하는 데 확실히 더 오래 걸립니다. 그리고 윈도우 버전보다 늘어나는 속도도 느린 것 같습니다. 보내 주신 리눅스 빌드에는 디버깅 기능이 켜져 있는 건 아닌가요? 블록이 초당 15개 정도씩 늘고 있습니다(시계를 보면서 눈대중으로 잰 겁니다). 윈도우 버전에서 얼마나 빨리 늘었는지는 재지 않았지만, 훨씬 빨랐던 것 같습니다.

시작하는 데 대략 얼마나 걸렸나요? 우연히 요청하게 된 노드가 느렸을 수 있습니다. 시작이 느리다면 내려받기 속도가 느린 것과도 들어맞습니다.

지금의 debug.log 파일을 보고 무슨 일인지 파악해 보고 싶습니다. 반대쪽 연결이 정말 느린 것일 수도 있고, 뭔가 잘못되어 실패했다가 다시 시도한 것일 수도 있습니다. 너무 오래 걸리면 다른 사용자들도 헷갈릴 수 있습니다.

마르티, 당신이 실행했을 때는 블록 내려받기가 시작되는 데 얼마나 걸렸고, 속도는 얼마나 빨랐나요?

bitcoin을 실행하는데 비트코인 포트를 쓸 수 없을 때 명령줄에 다음과 같은 메시지가 나옵니다. 비트코인 포트를 쓸 수 있을 때는 이런 메시지가 안 나옵니다. 기본 포트가 사용 중이면 비트코인이 다른 포트를 고를 수는 없나요? 제 비트토렌트 클라이언트도 가끔 똑같은 일이 생깁니다. 다시 시작하면 이전에 열려 있던 포트가 닫혀 있습니다. 포트만 바꾸면 다시 잘 동작합니다.

/usr/lib/gio/modules/libgvfsdbus.so: wrong ELF class: ELFCLASS64 Failed to load module: /usr/lib/gio/modules/libgvfsdbus.so /usr/lib/gio/modules/libgioremote-volume-monitor.so: wrong ELF class: ELFCLASS64 Failed to load module: /usr/lib/gio/modules/libgioremote-volume-monitor.so /usr/lib/gio/modules/libgiogconf.so: wrong ELF class: ELFCLASS64 Failed to load module: /usr/lib/gio/modules/libgiogconf.so

그 프로그램은 이미 SO_REUSEADDR을 쓰고 있어서, 닫힌 뒤 TIME_WAIT 상태에 있는 포트에도 연결할 수 있습니다. 연결에 실패하는 경우는 프로그램이 정말로 이미 실행 중일 때뿐이어야 합니다. 두 개의 비트코인이 같은 컴퓨터에서 동시에 실행되면 안 됩니다. 데이터베이스를 동시에 고치게 되기 때문입니다. 코인 생성이 이제 여러 프로세서를 자동으로 쓰게 되었으니, 한 컴퓨터에서 두 개를 실행할 필요는 전혀 없습니다.

저 lib 오류들이 무엇인지는 잘 모르겠네요. 좀 찾아보겠습니다.

영어 원문

> Martti, how long did it take to start downloading blocks when you ran
> it, and how fast did it download?

Started very quickly when I got connected and downloaded quicker than
my Windows PC, which has a slower CPU.

I'll have to focus on a school project (coincidentally C++ coding) for
about a month now, so I don't have that much time for active
developing until December. Let's keep contact anyway.

> Liberty Standard wrote:
>> Ok, blocks have now started to increase. It definitely takes longer
>> for them to start increasing than with the Windows version. Also,
>> I think they might be increasing at a slower rate than in with the
>> Windows version. Is there perhaps debugging enabled in the Linux
>> build that you sent me? Block are increasing at about 15 blocks per
>> second (eyeball estimate while looking at a clock). I didn't time
>> how fast they increased in the Windows version, but it seems like
>> it was much faster.
>
> About how long did it take to start? It could be the node that you
> happened to request from is slow. The slow start is consistent with
> the slow download speed.
>
> I'd like to look at your current debug.log file and try to understand
> what's going. It might just be a really slow connection on the other
> side, or maybe something's wrong and failed and retried. Taking too
> long could confuse other users.
>
> Martti, how long did it take to start downloading blocks when you ran
> it, and how fast did it download?
>
>> When I launch bitcoin and the bitcoin port is not available, I get
>> the following messages to the command line. I don't get those
>> messages when the bitcoin port is available. Would it be possible
>> for bitcoin to pick another port if the default port is taken? The
>> same think sometimes happens to me with my BitTorrent client. When I
>> restart it, my previously open port is closed. All I have to do is
>> change the port and it starts working again.
>>
>> /usr/lib/gio/modules/libgvfsdbus.so: wrong ELF class: ELFCLASS64
>> Failed to load module: /usr/lib/gio/modules/libgvfsdbus.so
>> /usr/lib/gio/modules/libgioremote-volume-monitor.so: wrong ELF
>> class: ELFCLASS64
>> Failed to load module:
>> /usr/lib/gio/modules/libgioremote-volume-monitor.so
>> /usr/lib/gio/modules/libgiogconf.so: wrong ELF class: ELFCLASS64
>> Failed to load module: /usr/lib/gio/modules/libgiogconf.so
>
> It already uses SO_REUSEADDR so it can bind to the port if it's in
> TIME_WAIT state after being closed. The only time it should fail to
> bind is when the program really is already running. It's important
> that two copies of Bitcoin not run on the same machine at once because
> they would be modifying the database at the same time. There is never
> any need to run two on one machine as coin generation will now use
> multiple processors automatically.
>
> I'm not sure what those lib errors are, I'll do some searching.
링크 복사하기X에 공유페이스북에 공유쓰레드에 공유