diff --git a/sdk/node/Libplanet.Node.Tests/Services/BlockChainServiceTest.cs b/sdk/node/Libplanet.Node.Tests/Services/BlockChainServiceTest.cs index 6a93d1224c..254a521c28 100644 --- a/sdk/node/Libplanet.Node.Tests/Services/BlockChainServiceTest.cs +++ b/sdk/node/Libplanet.Node.Tests/Services/BlockChainServiceTest.cs @@ -66,19 +66,11 @@ public void Create_Using_Genesis_Configuration_Test() var serviceProvider = services.BuildServiceProvider(); var blockChainService = serviceProvider.GetRequiredService(); var blockChain = blockChainService.BlockChain; - - Assert.Equal( - (Text)"A", - blockChain.GetNextWorldState()?.GetAccountState(accountA).GetState(addressA)); - Assert.Equal( - (Integer)123, - blockChain.GetNextWorldState()?.GetAccountState(accountA).GetState(addressB)); - Assert.Equal( - (Text)"B", - blockChain.GetNextWorldState()?.GetAccountState(accountB).GetState(addressA)); - Assert.Equal( - (Integer)456, - blockChain.GetNextWorldState()?.GetAccountState(accountB).GetState(addressB)); + var worldState = blockChain.GetNextWorldState()!; + Assert.Equal((Text)"A", worldState.GetAccountState(accountA).GetState(addressA)); + Assert.Equal((Integer)123, worldState.GetAccountState(accountA).GetState(addressB)); + Assert.Equal((Text)"B", worldState.GetAccountState(accountB).GetState(addressA)); + Assert.Equal((Integer)456, worldState.GetAccountState(accountB).GetState(addressB)); } finally { diff --git a/sdk/node/Libplanet.Node/Services/BlockChainService.cs b/sdk/node/Libplanet.Node/Services/BlockChainService.cs index 4359c17415..50a4f7f31e 100644 --- a/sdk/node/Libplanet.Node/Services/BlockChainService.cs +++ b/sdk/node/Libplanet.Node/Services/BlockChainService.cs @@ -193,7 +193,7 @@ private static Block CreateGenesisBlockFromConfiguration( byte[] config, IStateStore stateStore) { - Dictionary>? data = + Dictionary>? data = JsonSerializer.Deserialize>>(config); if (data == null || data.Count == 0) { @@ -209,33 +209,17 @@ private static Block CreateGenesisBlockFromConfiguration( foreach (var accountKv in data) { - try - { - var key = new Address(accountKv.Key); - IAccount account = world.GetAccount(key); - - foreach (var stateKv in accountKv.Value) - { - try - { - account = account.SetState( - new Address(stateKv.Key), - codec.Decode(ByteUtil.ParseHex(stateKv.Value))); - } - catch (Exception e) - { - // skip state - Console.WriteLine(e); - } - } + var key = new Address(accountKv.Key); + IAccount account = world.GetAccount(key); - world = world.SetAccount(key, account); - } - catch (Exception e) + foreach (var stateKv in accountKv.Value) { - // skip account - Console.WriteLine(e); + account = account.SetState( + new Address(stateKv.Key), + codec.Decode(ByteUtil.ParseHex(stateKv.Value))); } + + world = world.SetAccount(key, account); } var worldTrie = world.Trie;