tech.pegasys.pantheon.ethereum.core.Address.extract()方法的使用及代码示例

x33g5p2x  于2022-01-17 转载在 其他  
字(12.6k)|赞(0)|评价(0)|浏览(115)

本文整理了Java中tech.pegasys.pantheon.ethereum.core.Address.extract()方法的一些代码示例,展示了Address.extract()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Address.extract()方法的具体详情如下:
包路径:tech.pegasys.pantheon.ethereum.core.Address
类名称:Address
方法名:extract

Address.extract介绍

暂无

代码示例

代码示例来源:origin: PegaSysEng/pantheon

  1. public String getAddress() {
  2. return Address.extract(Hash.hash(keyPair.getPublicKey().getEncodedBytes())).toString();
  3. }

代码示例来源:origin: PegaSysEng/pantheon

  1. @Test
  2. public void insufficientCommitSealsFailsValidation() {
  3. final KeyPair committerKeyPair = KeyPair.generate();
  4. final Address committerAddress =
  5. Address.extract(Hash.hash(committerKeyPair.getPublicKey().getEncodedBytes()));
  6. final List<Address> validators = singletonList(committerAddress);
  7. final VoteTally voteTally = new VoteTally(validators);
  8. final ProtocolContext<IbftContext> context =
  9. new ProtocolContext<>(null, null, new IbftContext(voteTally, null));
  10. final BlockHeader header = createProposedBlockHeader(validators, emptyList(), false);
  11. // Note that no committer seals are in the header's IBFT extra data.
  12. final IbftExtraData headerExtraData = IbftExtraData.decode(header.getExtraData());
  13. assertThat(headerExtraData.getSeals().size()).isEqualTo(0);
  14. assertThat(commitSealsValidationRule.validate(header, null, context)).isFalse();
  15. }

代码示例来源:origin: PegaSysEng/pantheon

  1. private boolean subExecution(
  2. final int validatorCount,
  3. final int committerCount,
  4. final boolean useDifferentRoundNumbersForCommittedSeals) {
  5. final List<Address> validators = Lists.newArrayList();
  6. final List<KeyPair> committerKeys = Lists.newArrayList();
  7. for (int i = 0; i < validatorCount; i++) { // need -1 to account for proposer
  8. final KeyPair committerKeyPair = KeyPair.generate();
  9. committerKeys.add(committerKeyPair);
  10. validators.add(Address.extract(Hash.hash(committerKeyPair.getPublicKey().getEncodedBytes())));
  11. }
  12. Collections.sort(validators);
  13. final VoteTally voteTally = new VoteTally(validators);
  14. BlockHeader header =
  15. createProposedBlockHeader(
  16. validators,
  17. committerKeys.subList(0, committerCount),
  18. useDifferentRoundNumbersForCommittedSeals);
  19. final ProtocolContext<IbftContext> context =
  20. new ProtocolContext<>(null, null, new IbftContext(voteTally, null));
  21. return commitSealsValidationRule.validate(header, null, context);
  22. }
  23. }

代码示例来源:origin: PegaSysEng/pantheon

  1. @Test
  2. public void proposerInValidatorListPassesValidation() {
  3. final KeyPair proposerKeyPair = KeyPair.generate();
  4. final Address proposerAddress =
  5. Address.extract(Hash.hash(proposerKeyPair.getPublicKey().getEncodedBytes()));
  6. final List<Address> validators = Lists.newArrayList(proposerAddress);
  7. final List<KeyPair> committers = Lists.newArrayList(proposerKeyPair);
  8. final VoteTally voteTally = new VoteTally(validators);
  9. final ProtocolContext<IbftContext> context =
  10. new ProtocolContext<>(null, null, new IbftContext(voteTally, null));
  11. final IbftCoinbaseValidationRule coinbaseValidationRule = new IbftCoinbaseValidationRule();
  12. BlockHeader header = createProposedBlockHeader(proposerKeyPair, validators, committers);
  13. assertThat(coinbaseValidationRule.validate(header, null, context)).isTrue();
  14. }

代码示例来源:origin: PegaSysEng/pantheon

  1. @Test
  2. public void ibftValidateHeaderPasses() {
  3. final KeyPair proposerKeyPair = KeyPair.generate();
  4. final Address proposerAddress =
  5. Address.extract(Hash.hash(proposerKeyPair.getPublicKey().getEncodedBytes()));
  6. final List<Address> validators = singletonList(proposerAddress);
  7. final BlockHeader parentHeader = buildBlockHeader(1, proposerKeyPair, validators, null);
  8. final BlockHeader blockHeader = buildBlockHeader(2, proposerKeyPair, validators, parentHeader);
  9. final BlockHeaderValidator<IbftContext> validator =
  10. IbftBlockHeaderValidationRulesetFactory.ibftBlockHeaderValidator(5);
  11. assertThat(
  12. validator.validateHeader(
  13. blockHeader,
  14. parentHeader,
  15. IbftProtocolContextFixture.protocolContext(validators),
  16. HeaderValidationMode.FULL))
  17. .isTrue();
  18. }

代码示例来源:origin: PegaSysEng/pantheon

  1. @Test
  2. public void ibftValidateHeaderFails() {
  3. final KeyPair proposerKeyPair = KeyPair.generate();
  4. final Address proposerAddress =
  5. Address.extract(Hash.hash(proposerKeyPair.getPublicKey().getEncodedBytes()));
  6. final List<Address> validators = singletonList(proposerAddress);
  7. final BlockHeader parentHeader = buildBlockHeader(1, proposerKeyPair, validators, null);
  8. final BlockHeader blockHeader = buildBlockHeader(2, proposerKeyPair, validators, null);
  9. final BlockHeaderValidator<IbftContext> validator =
  10. IbftBlockHeaderValidationRulesetFactory.ibftBlockHeaderValidator(5);
  11. assertThat(
  12. validator.validateHeader(
  13. blockHeader,
  14. parentHeader,
  15. IbftProtocolContextFixture.protocolContext(validators),
  16. HeaderValidationMode.FULL))
  17. .isFalse();
  18. }

代码示例来源:origin: PegaSysEng/pantheon

  1. @Test
  2. public void proposerNotInValidatorListFailsValidation() {
  3. final KeyPair proposerKeyPair = KeyPair.generate();
  4. final KeyPair otherValidatorKeyPair = KeyPair.generate();
  5. final Address otherValidatorNodeAddress =
  6. Address.extract(Hash.hash(otherValidatorKeyPair.getPublicKey().getEncodedBytes()));
  7. final List<Address> validators = Lists.newArrayList(otherValidatorNodeAddress);
  8. final List<KeyPair> committers = Lists.newArrayList(otherValidatorKeyPair);
  9. final VoteTally voteTally = new VoteTally(validators);
  10. final ProtocolContext<IbftContext> context =
  11. new ProtocolContext<>(null, null, new IbftContext(voteTally, null));
  12. final IbftCoinbaseValidationRule coinbaseValidationRule = new IbftCoinbaseValidationRule();
  13. BlockHeader header = createProposedBlockHeader(proposerKeyPair, validators, committers);
  14. assertThat(coinbaseValidationRule.validate(header, null, context)).isFalse();
  15. }
  16. }

代码示例来源:origin: PegaSysEng/pantheon

  1. @Test
  2. public void insufficientCommitSealsFailsValidation() {
  3. final BlockHeaderTestFixture builder = new BlockHeaderTestFixture();
  4. builder.number(1); // must NOT be block 0, as that should not contain seals at all
  5. final KeyPair proposerKeyPair = KeyPair.generate();
  6. final Address proposerAddress =
  7. Address.extract(Hash.hash(proposerKeyPair.getPublicKey().getEncodedBytes()));
  8. final List<Address> validators = singletonList(proposerAddress);
  9. final VoteTally voteTally = new VoteTally(validators);
  10. final ProtocolContext<IbftContext> context =
  11. new ProtocolContext<>(null, null, new IbftContext(voteTally, null));
  12. final IbftExtraDataValidationRule extraDataValidationRule =
  13. new IbftExtraDataValidationRule(true);
  14. final BlockHeader header = createProposedBlockHeader(proposerKeyPair, validators);
  15. // Note that no committer seals are in the header's IBFT extra data.
  16. final IbftExtraData headerExtraData = IbftExtraData.decode(header.getExtraData());
  17. Assertions.assertThat(headerExtraData.getSeals().size()).isEqualTo(0);
  18. assertThat(extraDataValidationRule.validate(header, null, context)).isFalse();
  19. }

代码示例来源:origin: PegaSysEng/pantheon

  1. Address.extract(Hash.hash(proposerKeyPair.getPublicKey().getEncodedBytes()));
  2. final KeyPair committerKeyPair = KeyPair.generate();
  3. committerKeys.add(committerKeyPair);
  4. validators.add(Address.extract(Hash.hash(committerKeyPair.getPublicKey().getEncodedBytes())));

代码示例来源:origin: PegaSysEng/pantheon

  1. final Address localAddr = Address.extract(Hash.hash(nodeKeys.getPublicKey().getEncodedBytes()));
  2. final List<Address> initialValidatorList =
  3. Arrays.asList(

代码示例来源:origin: PegaSysEng/pantheon

  1. @Test
  2. public void mismatchingReportedValidatorsVsLocallyStoredListFailsValidation() {
  3. final BlockHeaderTestFixture builder = new BlockHeaderTestFixture();
  4. builder.number(1); // must NOT be block 0, as that should not contain seals at all
  5. final KeyPair proposerKeyPair = KeyPair.generate();
  6. final Address proposerAddress =
  7. Address.extract(Hash.hash(proposerKeyPair.getPublicKey().getEncodedBytes()));
  8. final List<Address> validators = Lists.newArrayList(proposerAddress);
  9. final VoteTally voteTally = new VoteTally(validators);
  10. final ProtocolContext<IbftContext> context =
  11. new ProtocolContext<>(null, null, new IbftContext(voteTally, null));
  12. final IbftExtraDataValidationRule extraDataValidationRule =
  13. new IbftExtraDataValidationRule(true);
  14. // Add another validator to the list reported in the IbftExtraData (note, as the
  15. validators.add(AddressHelpers.calculateAddressWithRespectTo(proposerAddress, 1));
  16. BlockHeader header = createProposedBlockHeader(proposerKeyPair, validators);
  17. // Insert an extraData block with committer seals.
  18. final IbftExtraData commitedExtraData =
  19. createExtraDataWithCommitSeals(header, singletonList(proposerKeyPair));
  20. builder.extraData(commitedExtraData.encode());
  21. header = builder.buildHeader();
  22. assertThat(extraDataValidationRule.validate(header, null, context)).isFalse();
  23. }

代码示例来源:origin: PegaSysEng/pantheon

  1. @Test
  2. public void correctlyConstructedHeaderPassesValidation() {
  3. final BlockHeaderTestFixture builder = new BlockHeaderTestFixture();
  4. builder.number(1); // must NOT be block 0, as that should not contain seals at all
  5. final KeyPair proposerKeyPair = KeyPair.generate();
  6. final Address proposerAddress =
  7. Address.extract(Hash.hash(proposerKeyPair.getPublicKey().getEncodedBytes()));
  8. final List<Address> validators = singletonList(proposerAddress);
  9. final VoteTally voteTally = new VoteTally(validators);
  10. final ProtocolContext<IbftContext> context =
  11. new ProtocolContext<>(null, null, new IbftContext(voteTally, null));
  12. final IbftExtraDataValidationRule extraDataValidationRule =
  13. new IbftExtraDataValidationRule(true);
  14. BlockHeader header = createProposedBlockHeader(proposerKeyPair, validators);
  15. // Insert an extraData block with committer seals.
  16. final IbftExtraData commitedExtraData =
  17. createExtraDataWithCommitSeals(header, singletonList(proposerKeyPair));
  18. builder.extraData(commitedExtraData.encode());
  19. header = builder.buildHeader();
  20. assertThat(extraDataValidationRule.validate(header, null, context)).isTrue();
  21. }

代码示例来源:origin: PegaSysEng/pantheon

  1. @Test
  2. public void committerNotInValidatorListFailsValidation() {
  3. final BlockHeaderTestFixture builder = new BlockHeaderTestFixture();
  4. builder.number(1); // must NOT be block 0, as that should not contain seals at all
  5. final KeyPair proposerKeyPair = KeyPair.generate();
  6. final Address proposerAddress =
  7. Address.extract(Hash.hash(proposerKeyPair.getPublicKey().getEncodedBytes()));
  8. final List<Address> validators = singletonList(proposerAddress);
  9. final VoteTally voteTally = new VoteTally(validators);
  10. BlockHeader header = createProposedBlockHeader(proposerKeyPair, validators);
  11. // Insert an extraData block with committer seals.
  12. final KeyPair nonValidatorKeyPair = KeyPair.generate();
  13. final IbftExtraData commitedExtraData =
  14. createExtraDataWithCommitSeals(header, singletonList(nonValidatorKeyPair));
  15. builder.extraData(commitedExtraData.encode());
  16. header = builder.buildHeader();
  17. final ProtocolContext<IbftContext> context =
  18. new ProtocolContext<>(null, null, new IbftContext(voteTally, null));
  19. final IbftExtraDataValidationRule extraDataValidationRule =
  20. new IbftExtraDataValidationRule(true);
  21. assertThat(extraDataValidationRule.validate(header, null, context)).isFalse();
  22. }

代码示例来源:origin: PegaSysEng/pantheon

  1. @Test
  2. public void outOfOrderValidatorListFailsValidation() {
  3. final BlockHeaderTestFixture builder = new BlockHeaderTestFixture();
  4. builder.number(1); // must NOT be block 0, as that should not contain seals at all
  5. final KeyPair proposerKeyPair = KeyPair.generate();
  6. final Address proposerAddress =
  7. Address.extract(Hash.hash(proposerKeyPair.getPublicKey().getEncodedBytes()));
  8. final List<Address> validators =
  9. Lists.newArrayList(
  10. AddressHelpers.calculateAddressWithRespectTo(proposerAddress, 1), proposerAddress);
  11. final VoteTally voteTally = new VoteTally(validators);
  12. final ProtocolContext<IbftContext> context =
  13. new ProtocolContext<>(null, null, new IbftContext(voteTally, null));
  14. final IbftExtraDataValidationRule extraDataValidationRule =
  15. new IbftExtraDataValidationRule(true);
  16. BlockHeader header = createProposedBlockHeader(proposerKeyPair, validators);
  17. // Insert an extraData block with committer seals.
  18. final IbftExtraData commitedExtraData =
  19. createExtraDataWithCommitSeals(header, singletonList(proposerKeyPair));
  20. builder.extraData(commitedExtraData.encode());
  21. header = builder.buildHeader();
  22. assertThat(extraDataValidationRule.validate(header, null, context)).isFalse();
  23. }

代码示例来源:origin: PegaSysEng/pantheon

  1. @Test
  2. public void proposerNotInValidatorListFailsValidation() {
  3. final BlockHeaderTestFixture builder = new BlockHeaderTestFixture();
  4. builder.number(1); // must NOT be block 0, as that should not contain seals at all
  5. final KeyPair proposerKeyPair = KeyPair.generate();
  6. final Address proposerAddress =
  7. Address.extract(Hash.hash(proposerKeyPair.getPublicKey().getEncodedBytes()));
  8. final List<Address> validators =
  9. Lists.newArrayList(
  10. AddressHelpers.calculateAddressWithRespectTo(proposerAddress, 1), proposerAddress);
  11. final VoteTally voteTally = new VoteTally(validators);
  12. final ProtocolContext<IbftContext> context =
  13. new ProtocolContext<>(null, null, new IbftContext(voteTally, null));
  14. final IbftExtraDataValidationRule extraDataValidationRule =
  15. new IbftExtraDataValidationRule(true);
  16. BlockHeader header = createProposedBlockHeader(proposerKeyPair, validators);
  17. // Insert an extraData block with committer seals.
  18. final IbftExtraData commitedExtraData =
  19. createExtraDataWithCommitSeals(header, singletonList(proposerKeyPair));
  20. builder.extraData(commitedExtraData.encode());
  21. header = builder.buildHeader();
  22. assertThat(extraDataValidationRule.validate(header, null, context)).isFalse();
  23. }

相关文章