# 所有程序包的分层结构

程序包分层结构:

- com.google.api,
- com.google.protobuf,
- com.google.rpc,
- org.bdware.bdledger.api.grpc,
- org.bdware.bdledger.api.grpc.pb

## 类分层结构

- java.lang.Object
  - com.google.protobuf.AbstractMessageLite<MessageType,​BuilderType> (implements com.google.protobuf.MessageLite)
    - com.google.protobuf.AbstractMessage (implements com.google.protobuf.Message)
      - com.google.protobuf.GeneratedMessageV3 (implements java.io.Serializable)
        - com.google.rpc.BadRequest (implements com.google.rpc.BadRequestOrBuilder)
        - com.google.rpc.BadRequest.FieldViolation (implements com.google.rpc.BadRequest.FieldViolationOrBuilder)
        - org.bdware.bdledger.api.grpc.pb.CommonProto.Block (implements org.bdware.bdledger.api.grpc.pb.CommonProto.BlockOrBuilder)
        - org.bdware.bdledger.api.grpc.pb.CommonProto.Contract (implements org.bdware.bdledger.api.grpc.pb.CommonProto.ContractOrBuilder)
        - org.bdware.bdledger.api.grpc.pb.CommonProto.Transaction (implements org.bdware.bdledger.api.grpc.pb.CommonProto.TransactionOrBuilder)
        - com.google.api.CustomHttpPattern (implements com.google.api.CustomHttpPatternOrBuilder)
        - com.google.rpc.DebugInfo (implements com.google.rpc.DebugInfoOrBuilder)
        - com.google.protobuf.Empty (implements com.google.protobuf.EmptyOrBuilder)
        - org.bdware.bdledger.api.grpc.pb.ErrorDetailsProto.InvalidArgument (implements org.bdware.bdledger.api.grpc.pb.ErrorDetailsProto.InvalidArgumentOrBuilder)
        - org.bdware.bdledger.api.grpc.pb.ErrorDetailsProto.InvalidArgument.FieldViolation (implements org.bdware.bdledger.api.grpc.pb.ErrorDetailsProto.InvalidArgument.FieldViolationOrBuilder)
        - com.google.rpc.Help (implements com.google.rpc.HelpOrBuilder)
        - com.google.rpc.Help.Link (implements com.google.rpc.Help.LinkOrBuilder)
        - com.google.api.Http (implements com.google.api.HttpOrBuilder)
        - com.google.api.HttpBody (implements com.google.api.HttpBodyOrBuilder)
        - com.google.api.HttpRule (implements com.google.api.HttpRuleOrBuilder)
        - org.bdware.bdledger.api.grpc.pb.LedgerProto.CreateLedgerRequest (implements org.bdware.bdledger.api.grpc.pb.LedgerProto.CreateLedgerRequestOrBuilder)
        - org.bdware.bdledger.api.grpc.pb.LedgerProto.CreateLedgerResponse (implements org.bdware.bdledger.api.grpc.pb.LedgerProto.CreateLedgerResponseOrBuilder)
        - org.bdware.bdledger.api.grpc.pb.LedgerProto.GetLedgersResponse (implements org.bdware.bdledger.api.grpc.pb.LedgerProto.GetLedgersResponseOrBuilder)
        - org.bdware.bdledger.api.grpc.pb.LedgerProto.SendTransactionRequest (implements org.bdware.bdledger.api.grpc.pb.LedgerProto.SendTransactionRequestOrBuilder)
        - org.bdware.bdledger.api.grpc.pb.LedgerProto.SendTransactionRequest.Transaction (implements org.bdware.bdledger.api.grpc.pb.LedgerProto.SendTransactionRequest.TransactionOrBuilder)
        - org.bdware.bdledger.api.grpc.pb.LedgerProto.SendTransactionResponse (implements org.bdware.bdledger.api.grpc.pb.LedgerProto.SendTransactionResponseOrBuilder)
        - com.google.rpc.LocalizedMessage (implements com.google.rpc.LocalizedMessageOrBuilder)
        - org.bdware.bdledger.api.grpc.pb.NodeProto.ClientVersionResponse (implements org.bdware.bdledger.api.grpc.pb.NodeProto.ClientVersionResponseOrBuilder)
        - com.google.rpc.PreconditionFailure (implements com.google.rpc.PreconditionFailureOrBuilder)
        - com.google.rpc.PreconditionFailure.Violation (implements com.google.rpc.PreconditionFailure.ViolationOrBuilder)
        - org.bdware.bdledger.api.grpc.pb.QueryProto.BlockFilter (implements org.bdware.bdledger.api.grpc.pb.QueryProto.BlockFilterOrBuilder)
        - org.bdware.bdledger.api.grpc.pb.QueryProto.BlocksRequest (implements org.bdware.bdledger.api.grpc.pb.QueryProto.BlocksRequestOrBuilder)
        - org.bdware.bdledger.api.grpc.pb.QueryProto.CountBlocksResponse (implements org.bdware.bdledger.api.grpc.pb.QueryProto.CountBlocksResponseOrBuilder)
        - org.bdware.bdledger.api.grpc.pb.QueryProto.CountTransactionsResponse (implements org.bdware.bdledger.api.grpc.pb.QueryProto.CountTransactionsResponseOrBuilder)
        - org.bdware.bdledger.api.grpc.pb.QueryProto.GetBlockByHashRequest (implements org.bdware.bdledger.api.grpc.pb.QueryProto.GetBlockByHashRequestOrBuilder)
        - org.bdware.bdledger.api.grpc.pb.QueryProto.GetBlockByHashResponse (implements org.bdware.bdledger.api.grpc.pb.QueryProto.GetBlockByHashResponseOrBuilder)
        - org.bdware.bdledger.api.grpc.pb.QueryProto.GetBlocksResponse (implements org.bdware.bdledger.api.grpc.pb.QueryProto.GetBlocksResponseOrBuilder)
        - org.bdware.bdledger.api.grpc.pb.QueryProto.GetTransactionByBlockHashAndIndexRequest (implements org.bdware.bdledger.api.grpc.pb.QueryProto.GetTransactionByBlockHashAndIndexRequestOrBuilder)
        - org.bdware.bdledger.api.grpc.pb.QueryProto.GetTransactionByBlockHashAndIndexResponse (implements org.bdware.bdledger.api.grpc.pb.QueryProto.GetTransactionByBlockHashAndIndexResponseOrBuilder)
        - org.bdware.bdledger.api.grpc.pb.QueryProto.GetTransactionByHashRequest (implements org.bdware.bdledger.api.grpc.pb.QueryProto.GetTransactionByHashRequestOrBuilder)
        - org.bdware.bdledger.api.grpc.pb.QueryProto.GetTransactionByHashResponse (implements org.bdware.bdledger.api.grpc.pb.QueryProto.GetTransactionByHashResponseOrBuilder)
        - org.bdware.bdledger.api.grpc.pb.QueryProto.GetTransactionsResponse (implements org.bdware.bdledger.api.grpc.pb.QueryProto.GetTransactionsResponseOrBuilder)
        - org.bdware.bdledger.api.grpc.pb.QueryProto.RecentBlocksRequest (implements org.bdware.bdledger.api.grpc.pb.QueryProto.RecentBlocksRequestOrBuilder)
        - org.bdware.bdledger.api.grpc.pb.QueryProto.TransactionFilter (implements org.bdware.bdledger.api.grpc.pb.QueryProto.TransactionFilterOrBuilder)
        - org.bdware.bdledger.api.grpc.pb.QueryProto.TransactionsRequest (implements org.bdware.bdledger.api.grpc.pb.QueryProto.TransactionsRequestOrBuilder)
        - com.google.rpc.QuotaFailure (implements com.google.rpc.QuotaFailureOrBuilder)
        - com.google.rpc.QuotaFailure.Violation (implements com.google.rpc.QuotaFailure.ViolationOrBuilder)
        - com.google.rpc.RequestInfo (implements com.google.rpc.RequestInfoOrBuilder)
        - com.google.rpc.ResourceInfo (implements com.google.rpc.ResourceInfoOrBuilder)
        - com.google.rpc.RetryInfo (implements com.google.rpc.RetryInfoOrBuilder)
        - com.google.rpc.Status (implements com.google.rpc.StatusOrBuilder)
  - com.google.protobuf.AbstractMessageLite.Builder<MessageType,​BuilderType> (implements com.google.protobuf.MessageLite.Builder)
    - com.google.protobuf.AbstractMessage.Builder<BuilderType> (implements com.google.protobuf.Message.Builder)
      - com.google.protobuf.GeneratedMessageV3.Builder<BuilderType>
        - com.google.rpc.BadRequest.Builder (implements com.google.rpc.BadRequestOrBuilder)
        - com.google.rpc.BadRequest.FieldViolation.Builder (implements com.google.rpc.BadRequest.FieldViolationOrBuilder)
        - org.bdware.bdledger.api.grpc.pb.CommonProto.Block.Builder (implements org.bdware.bdledger.api.grpc.pb.CommonProto.BlockOrBuilder)
        - org.bdware.bdledger.api.grpc.pb.CommonProto.Contract.Builder (implements org.bdware.bdledger.api.grpc.pb.CommonProto.ContractOrBuilder)
        - org.bdware.bdledger.api.grpc.pb.CommonProto.Transaction.Builder (implements org.bdware.bdledger.api.grpc.pb.CommonProto.TransactionOrBuilder)
        - com.google.api.CustomHttpPattern.Builder (implements com.google.api.CustomHttpPatternOrBuilder)
        - com.google.rpc.DebugInfo.Builder (implements com.google.rpc.DebugInfoOrBuilder)
        - com.google.protobuf.Empty.Builder (implements com.google.protobuf.EmptyOrBuilder)
        - org.bdware.bdledger.api.grpc.pb.ErrorDetailsProto.InvalidArgument.Builder (implements org.bdware.bdledger.api.grpc.pb.ErrorDetailsProto.InvalidArgumentOrBuilder)
        - org.bdware.bdledger.api.grpc.pb.ErrorDetailsProto.InvalidArgument.FieldViolation.Builder (implements org.bdware.bdledger.api.grpc.pb.ErrorDetailsProto.InvalidArgument.FieldViolationOrBuilder)
        - com.google.rpc.Help.Builder (implements com.google.rpc.HelpOrBuilder)
        - com.google.rpc.Help.Link.Builder (implements com.google.rpc.Help.LinkOrBuilder)
        - com.google.api.Http.Builder (implements com.google.api.HttpOrBuilder)
        - com.google.api.HttpBody.Builder (implements com.google.api.HttpBodyOrBuilder)
        - com.google.api.HttpRule.Builder (implements com.google.api.HttpRuleOrBuilder)
        - org.bdware.bdledger.api.grpc.pb.LedgerProto.CreateLedgerRequest.Builder (implements org.bdware.bdledger.api.grpc.pb.LedgerProto.CreateLedgerRequestOrBuilder)
        - org.bdware.bdledger.api.grpc.pb.LedgerProto.CreateLedgerResponse.Builder (implements org.bdware.bdledger.api.grpc.pb.LedgerProto.CreateLedgerResponseOrBuilder)
        - org.bdware.bdledger.api.grpc.pb.LedgerProto.GetLedgersResponse.Builder (implements org.bdware.bdledger.api.grpc.pb.LedgerProto.GetLedgersResponseOrBuilder)
        - org.bdware.bdledger.api.grpc.pb.LedgerProto.SendTransactionRequest.Builder (implements org.bdware.bdledger.api.grpc.pb.LedgerProto.SendTransactionRequestOrBuilder)
        - org.bdware.bdledger.api.grpc.pb.LedgerProto.SendTransactionRequest.Transaction.Builder (implements org.bdware.bdledger.api.grpc.pb.LedgerProto.SendTransactionRequest.TransactionOrBuilder)
        - org.bdware.bdledger.api.grpc.pb.LedgerProto.SendTransactionResponse.Builder (implements org.bdware.bdledger.api.grpc.pb.LedgerProto.SendTransactionResponseOrBuilder)
        - com.google.rpc.LocalizedMessage.Builder (implements com.google.rpc.LocalizedMessageOrBuilder)
        - org.bdware.bdledger.api.grpc.pb.NodeProto.ClientVersionResponse.Builder (implements org.bdware.bdledger.api.grpc.pb.NodeProto.ClientVersionResponseOrBuilder)
        - com.google.rpc.PreconditionFailure.Builder (implements com.google.rpc.PreconditionFailureOrBuilder)
        - com.google.rpc.PreconditionFailure.Violation.Builder (implements com.google.rpc.PreconditionFailure.ViolationOrBuilder)
        - org.bdware.bdledger.api.grpc.pb.QueryProto.BlockFilter.Builder (implements org.bdware.bdledger.api.grpc.pb.QueryProto.BlockFilterOrBuilder)
        - org.bdware.bdledger.api.grpc.pb.QueryProto.BlocksRequest.Builder (implements org.bdware.bdledger.api.grpc.pb.QueryProto.BlocksRequestOrBuilder)
        - org.bdware.bdledger.api.grpc.pb.QueryProto.CountBlocksResponse.Builder (implements org.bdware.bdledger.api.grpc.pb.QueryProto.CountBlocksResponseOrBuilder)
        - org.bdware.bdledger.api.grpc.pb.QueryProto.CountTransactionsResponse.Builder (implements org.bdware.bdledger.api.grpc.pb.QueryProto.CountTransactionsResponseOrBuilder)
        - org.bdware.bdledger.api.grpc.pb.QueryProto.GetBlockByHashRequest.Builder (implements org.bdware.bdledger.api.grpc.pb.QueryProto.GetBlockByHashRequestOrBuilder)
        - org.bdware.bdledger.api.grpc.pb.QueryProto.GetBlockByHashResponse.Builder (implements org.bdware.bdledger.api.grpc.pb.QueryProto.GetBlockByHashResponseOrBuilder)
        - org.bdware.bdledger.api.grpc.pb.QueryProto.GetBlocksResponse.Builder (implements org.bdware.bdledger.api.grpc.pb.QueryProto.GetBlocksResponseOrBuilder)
        - org.bdware.bdledger.api.grpc.pb.QueryProto.GetTransactionByBlockHashAndIndexRequest.Builder (implements org.bdware.bdledger.api.grpc.pb.QueryProto.GetTransactionByBlockHashAndIndexRequestOrBuilder)
        - org.bdware.bdledger.api.grpc.pb.QueryProto.GetTransactionByBlockHashAndIndexResponse.Builder (implements org.bdware.bdledger.api.grpc.pb.QueryProto.GetTransactionByBlockHashAndIndexResponseOrBuilder)
        - org.bdware.bdledger.api.grpc.pb.QueryProto.GetTransactionByHashRequest.Builder (implements org.bdware.bdledger.api.grpc.pb.QueryProto.GetTransactionByHashRequestOrBuilder)
        - org.bdware.bdledger.api.grpc.pb.QueryProto.GetTransactionByHashResponse.Builder (implements org.bdware.bdledger.api.grpc.pb.QueryProto.GetTransactionByHashResponseOrBuilder)
        - org.bdware.bdledger.api.grpc.pb.QueryProto.GetTransactionsResponse.Builder (implements org.bdware.bdledger.api.grpc.pb.QueryProto.GetTransactionsResponseOrBuilder)
        - org.bdware.bdledger.api.grpc.pb.QueryProto.RecentBlocksRequest.Builder (implements org.bdware.bdledger.api.grpc.pb.QueryProto.RecentBlocksRequestOrBuilder)
        - org.bdware.bdledger.api.grpc.pb.QueryProto.TransactionFilter.Builder (implements org.bdware.bdledger.api.grpc.pb.QueryProto.TransactionFilterOrBuilder)
        - org.bdware.bdledger.api.grpc.pb.QueryProto.TransactionsRequest.Builder (implements org.bdware.bdledger.api.grpc.pb.QueryProto.TransactionsRequestOrBuilder)
        - com.google.rpc.QuotaFailure.Builder (implements com.google.rpc.QuotaFailureOrBuilder)
        - com.google.rpc.QuotaFailure.Violation.Builder (implements com.google.rpc.QuotaFailure.ViolationOrBuilder)
        - com.google.rpc.RequestInfo.Builder (implements com.google.rpc.RequestInfoOrBuilder)
        - com.google.rpc.ResourceInfo.Builder (implements com.google.rpc.ResourceInfoOrBuilder)
        - com.google.rpc.RetryInfo.Builder (implements com.google.rpc.RetryInfoOrBuilder)
        - com.google.rpc.Status.Builder (implements com.google.rpc.StatusOrBuilder)
  - io.grpc.stub.AbstractStub<S>
    - io.grpc.stub.AbstractAsyncStub<S>
      - org.bdware.bdledger.api.grpc.pb.LedgerGrpc.LedgerStub
      - org.bdware.bdledger.api.grpc.pb.NodeGrpc.NodeStub
      - org.bdware.bdledger.api.grpc.pb.QueryGrpc.QueryStub
    - io.grpc.stub.AbstractBlockingStub<S>
      - org.bdware.bdledger.api.grpc.pb.LedgerGrpc.LedgerBlockingStub
      - org.bdware.bdledger.api.grpc.pb.NodeGrpc.NodeBlockingStub
      - org.bdware.bdledger.api.grpc.pb.QueryGrpc.QueryBlockingStub
    - io.grpc.stub.AbstractFutureStub<S>
      - org.bdware.bdledger.api.grpc.pb.LedgerGrpc.LedgerFutureStub
      - org.bdware.bdledger.api.grpc.pb.NodeGrpc.NodeFutureStub
      - org.bdware.bdledger.api.grpc.pb.QueryGrpc.QueryFutureStub
  - com.google.api.AnnotationsProto
  - org.bdware.bdledger.api.grpc.Client
  - com.google.rpc.CodeProto
  - org.bdware.bdledger.api.grpc.pb.CommonProto
  - com.google.protobuf.EmptyProto
  - com.google.rpc.ErrorDetailsProto
  - org.bdware.bdledger.api.grpc.pb.ErrorDetailsProto
  - com.google.api.HttpBodyProto
  - com.google.api.HttpProto
  - org.bdware.bdledger.api.grpc.pb.LedgerGrpc
  - org.bdware.bdledger.api.grpc.pb.LedgerGrpc.LedgerImplBase (implements io.grpc.BindableService)
  - org.bdware.bdledger.api.grpc.pb.LedgerProto
  - org.bdware.bdledger.api.grpc.pb.NodeGrpc
  - org.bdware.bdledger.api.grpc.pb.NodeGrpc.NodeImplBase (implements io.grpc.BindableService)
  - org.bdware.bdledger.api.grpc.pb.NodeProto
  - org.bdware.bdledger.api.grpc.pb.QueryGrpc
  - org.bdware.bdledger.api.grpc.pb.QueryGrpc.QueryImplBase (implements io.grpc.BindableService)
  - org.bdware.bdledger.api.grpc.pb.QueryProto
  - com.google.rpc.StatusProto
  - org.bdware.bdledger.api.grpc.Utils

## 接口分层结构

- com.google.protobuf.MessageLiteOrBuilder
  - com.google.protobuf.MessageOrBuilder
    - com.google.rpc.BadRequest.FieldViolationOrBuilder
    - com.google.rpc.BadRequestOrBuilder
    - org.bdware.bdledger.api.grpc.pb.CommonProto.BlockOrBuilder
    - org.bdware.bdledger.api.grpc.pb.CommonProto.ContractOrBuilder
    - org.bdware.bdledger.api.grpc.pb.CommonProto.TransactionOrBuilder
    - com.google.api.CustomHttpPatternOrBuilder
    - com.google.rpc.DebugInfoOrBuilder
    - com.google.protobuf.EmptyOrBuilder
    - org.bdware.bdledger.api.grpc.pb.ErrorDetailsProto.InvalidArgument.FieldViolationOrBuilder
    - org.bdware.bdledger.api.grpc.pb.ErrorDetailsProto.InvalidArgumentOrBuilder
    - com.google.rpc.Help.LinkOrBuilder
    - com.google.rpc.HelpOrBuilder
    - com.google.api.HttpBodyOrBuilder
    - com.google.api.HttpOrBuilder
    - com.google.api.HttpRuleOrBuilder
    - org.bdware.bdledger.api.grpc.pb.LedgerProto.CreateLedgerRequestOrBuilder
    - org.bdware.bdledger.api.grpc.pb.LedgerProto.CreateLedgerResponseOrBuilder
    - org.bdware.bdledger.api.grpc.pb.LedgerProto.GetLedgersResponseOrBuilder
    - org.bdware.bdledger.api.grpc.pb.LedgerProto.SendTransactionRequest.TransactionOrBuilder
    - org.bdware.bdledger.api.grpc.pb.LedgerProto.SendTransactionRequestOrBuilder
    - org.bdware.bdledger.api.grpc.pb.LedgerProto.SendTransactionResponseOrBuilder
    - com.google.rpc.LocalizedMessageOrBuilder
    - org.bdware.bdledger.api.grpc.pb.NodeProto.ClientVersionResponseOrBuilder
    - com.google.rpc.PreconditionFailure.ViolationOrBuilder
    - com.google.rpc.PreconditionFailureOrBuilder
    - org.bdware.bdledger.api.grpc.pb.QueryProto.BlockFilterOrBuilder
    - org.bdware.bdledger.api.grpc.pb.QueryProto.BlocksRequestOrBuilder
    - org.bdware.bdledger.api.grpc.pb.QueryProto.CountBlocksResponseOrBuilder
    - org.bdware.bdledger.api.grpc.pb.QueryProto.CountTransactionsResponseOrBuilder
    - org.bdware.bdledger.api.grpc.pb.QueryProto.GetBlockByHashRequestOrBuilder
    - org.bdware.bdledger.api.grpc.pb.QueryProto.GetBlockByHashResponseOrBuilder
    - org.bdware.bdledger.api.grpc.pb.QueryProto.GetBlocksResponseOrBuilder
    - org.bdware.bdledger.api.grpc.pb.QueryProto.GetTransactionByBlockHashAndIndexRequestOrBuilder
    - org.bdware.bdledger.api.grpc.pb.QueryProto.GetTransactionByBlockHashAndIndexResponseOrBuilder
    - org.bdware.bdledger.api.grpc.pb.QueryProto.GetTransactionByHashRequestOrBuilder
    - org.bdware.bdledger.api.grpc.pb.QueryProto.GetTransactionByHashResponseOrBuilder
    - org.bdware.bdledger.api.grpc.pb.QueryProto.GetTransactionsResponseOrBuilder
    - org.bdware.bdledger.api.grpc.pb.QueryProto.RecentBlocksRequestOrBuilder
    - org.bdware.bdledger.api.grpc.pb.QueryProto.TransactionFilterOrBuilder
    - org.bdware.bdledger.api.grpc.pb.QueryProto.TransactionsRequestOrBuilder
    - com.google.rpc.QuotaFailure.ViolationOrBuilder
    - com.google.rpc.QuotaFailureOrBuilder
    - com.google.rpc.RequestInfoOrBuilder
    - com.google.rpc.ResourceInfoOrBuilder
    - com.google.rpc.RetryInfoOrBuilder
    - com.google.rpc.StatusOrBuilder

## Enum Class Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.lang.constant.Constable, java.io.Serializable)
    - com.google.rpc.Code (implements com.google.protobuf.ProtocolMessageEnum)
    - org.bdware.bdledger.api.grpc.pb.CommonProto.Contract.ContractUnitRequestType (implements com.google.protobuf.ProtocolMessageEnum)
    - org.bdware.bdledger.api.grpc.pb.CommonProto.TransactionType (implements com.google.protobuf.ProtocolMessageEnum)
    - com.google.api.HttpRule.PatternCase (implements com.google.protobuf.Internal.EnumLite)
    - org.bdware.bdledger.api.grpc.pb.QueryProto.IncludeTransactions (implements com.google.protobuf.ProtocolMessageEnum)