libplanet
libplanet copied to clipboard
Blockchain in C#/.NET for on-chain, decentralized gaming
We implemented specialized APIs for fungible assets (#900), but haven't discussed nor implemented non-fungible assets since then. So I reduced the scope of the original issue #861, and created this...
The bullet list items in https://github.com/planetarium/libplanet/blob/bfd304b1f92a9066eb85bbe144d091a45075c3a1/src/Libplanet.Types/Assets/Currency.cs#L43-L47 are not correctly rendered:  (https://docs.libplanet.io/5.3.0-alpha.3/api/Libplanet.Types.Assets.Currency.html) DocFx, the documentation renderer, requires all `` tags to contain a `` tag inside to be correctly rendered....
Seems like after a certain threshold, nodes seem to become prone to failing. Once a node starts to fail, the following symptoms have been observed: - Maximum number of `NetMQTransport`...
## Context Currently [`ConsolePasswordReader`](https://github.com/planetarium/libplanet/blob/1fba38ed1bbf515b6a421e9797da14a97a67ea4a/tools/Libplanet.Extensions.Cocona/ConsolePasswordReader.cs) prints prompts and masking asterisks to the standard out, but this behavior could be unfavorable for scripting, because when it's piped the unintentional prints are mixed...
# Context `BlockChain.Swap()` and `BlockChain.Fork` in `Swarm.PrealodAsync()` and `Swarm.CompleteBlocksAsync()` is useless in the PBFT scenario. There is only one canonical chain in the network so we do not support multiple...
*Context from Discord: .*
Currently we have only a concrete type to represent signing keys: `PrivateKey`. It assumes every signing key has its private part on memory, so Libplanet is difficult to utilize other...
`IStore` being an `interface` for storing `BlockChain`, `Block`, and `Transaction`s, I'd say the most intuitive expectation of `IStore.GetTxNonce(Guid, Address)`'s return value would be the highest nonce associated with the given...
## Context According to a report from TarogStar. `IStore` seems to crash when stopping the node. ## Problem https://github.com/planetarium/NineChronicles.Headless/blob/c5d2f8dff819c8d737db91fd2a4ae884dfc5df0f/Libplanet.Headless/Hosting/LibplanetNodeService.cs#L306-L318 When stopping `NineChronicles.Headless`, `Swarm.StopAsync()` is called here. But https://github.com/planetarium/libplanet/blob/977a79462cfe47b88606d6ef4e69b989b297a544/Libplanet.Net/Swarm.cs#L187-L204 `Swarm._workerCancellationTokenSoruce` is...
At the moment, `PublicKey.Verify()` method is agnostic of whether the signature is on the high-S side of the ECDSA curve, or on the low-S side. However, according to [BIP-146], only...