2017-10-04 10 views
0

매우 낮은 가스 가격 - 1 gwei (거래 A)로 계약 방법을 실행했습니다.Ethereum에 단일 지갑 트랜잭션 대기열이 있습니까?

그 후 나는 같은 계좌에서 몇 개의 지갑으로 일부 eth를 보냈습니다 (거래 B).

그 결과 가스 가격 때문에 채굴 될 때까지 pending으로 약 12 ​​시간 동안 처리되었습니다. 거래 B이 거래 (그들은 pending이었습니다)까지는 거래가 중단 된 것으로 나타났습니다.

모든 지갑이 동일한 지갑에서 MyEthereWallet을 통해 전송되었습니다.

이해하는 바와 같이, 트랜잭션은 절대적으로 독립적으로 실행됩니다. 그렇다면 거래 이유 B 이후에만 채굴 한 곳? 또는 각 지갑에 대한 글로벌 트랜잭션 대기열이 있으며 트랜잭션이 시스템에 전달되는 순서대로 마이닝 됩니 까?

답변

0

대답은 here입니다. 잠시 후, 예, 일종의 대기열이 있습니다. 트랜잭션은 ethereum 네트워크에 게시 된 순서대로 실행됩니다.


조금 더 자세하게 설명합니다. 각 계정에는 nonce이라는 속성이 있습니다. 계정에서 전송 된 트랜잭션 수를 포함합니다.

다음. 계정별로 전송 된 각 거래에는 몇 가지 속성이 있습니다. 그 중 하나는 거래를 보낸 계좌의 nonce입니다.

실행 트랜잭션의 유효성을 검사하기 전에 유효한 서명과 충분한 가스가 있어야하며 nonce이 유효해야합니다. 이는 발신자 계정의 현재 nonce과 같아야합니다.

유효성을 검사 한 후 트랜잭션이 실행 중입니다. 성공적인 트랜잭션 실행 후 계정의 nonce가 증가합니다. 예를 들어

, 우리의 계정의 nonce 우리는 nonce (100)와 첫 번째 트랜잭션이 완료되고 계정의 nonce이 증가 될 때까지 nonce (101)와 두 번째 트랜잭션이 유효하지 않습니다 (101) (그리고 될 101)와 두 개의 트랜잭션을 게시 100입니다.