Releases: InfraBlockchain/yosemite-public-blockchain
YOSEMITE Public Blockchain 0.8.1 Release
Yosemite Card - Yosemite Token (YTOKEN) Smart Contract
- Yosemite Token, gift token backed stable coin. Merchant-issuing gift tokens are redeemable for real goods services in the merchant shops. All of the issued Yosemite Tokens (YTOKEN) are equally backed by the sum of the redeemable gift tokens and the fiat-money-backed tokens which are used for fiat-money related business operations of yosemite card service. The issued Yosemite Tokens can be consumed at any merchant shop who has issued gift tokens for Yosemite Token.
- https://github.com/YosemiteLabs/yosemite-public-blockchain/tree/master/contracts/yosemite.card.ytoken
Yosemite Bios Sample Script Updated
- complying v0.8.0 (tx-vote-on-chain-core), make transaction votes before electing initial block producers
Yosemite Digital-Contract Smart Contract Updated
- permit empty signers for 'create' operation
YOSEMITE Public Blockchain 0.8.0 Release
Updates
[Proof-of-Transaction] Transaction Vote Statistics on Blockchain Core #118
- Managing transaction vote statistics on system contract's 'onblock' internal action which collects previous block's transaction votes is not working correctly on non-producing node. Tx-vote data is not correctly propagated to the non-producing nodes and consistency of transaction vote stat. among distributed nodes is not guaranteed. Transaction vote statistics for each vote receiver account should be managed on blockchain core database. Tx vote data (vote target account, accumulated transaction vote amount, accumulated weighted (time-decaying) transaction vote amount) should be instantly recorded on core database whenever transaction vote is cast in each transaction.
[System Contract] update system contract according to the transaction vote statistics on blockchain core #119
- The block producer election should be modified according to the new transaction vote stats. system on blockchain core ( #118 ). When system contract checks new block producer candidates, system contract should retrieve top transaction vote receiver list through blockchain core API.
EOSIO ~v1.6.3 merge
- Security Fixes
YOSEMITE Public Blockchain 0.7.0 Release
Updates
Technical White Paper Version 2
YOSEMITE Standard Token Model #111
- The YOSEMITE blockchain provides a unique YOSEMITE Standard Token model. Every account created can mint a YOSEMITE Standard Token and inherently run standard token operations natively supported at the blockchain core level. Interoperability among the tokens on the YOSEMITE blockchain is enforced and guaranteed by the blockchain core system.
Delegable Transaction Fee Payment #106
- The transaction fee payer is always specified separately from the accounts directly involved in a transaction, the transaction fee payment can be delegated to some other account. For the sake of a seamless and convenient user experience, blockchain service providers can pay blockchain transaction fees on behalf of the service’s users.
Transaction Fee Tokens Selected from User-Created Tokens
- Among the user-issued tokens, the elected block producers can select some tokens to be used for blockchain transaction fee payment, whereas typically a pre-built native cryptocurrency is used in other blockchain systems. Whenever any blockchain transaction is executed on the YOSEMITE blockchain, the block-producer-designated transaction fee tokens are collected as a transaction fee from users.
Yosemite X Fiat Stable Token Smart Contract
Yosemite X Credit Token Smart Contract (Yosemite Card)
YOSEMITE System Smart Contract Updated
- transaction fee selection by elected block producers
EOSIO v1.4.2 ~ v1.6.0 merge
- multi-threaded signature verification
- p2p networking enhanced
- inline action security policy enhanced
- State History Plugin, and so on
YOSEMITE Public Blockchain 0.6.0 Release
Updates
YOSEMITE mongodb blockchain log store update
- support searching for 'sent' actions filtered by tx sender account names #96
- logging for failed transactions #97
Docker Support #93
- docker build . -t yosemitex/yosemite
Build Automation using buildkite #92
System Contracts Updated
- [yx.identity] notify identity-related (KYC, ...) update actions to target user account #98
YOSEMITE Public Blockchain 0.5.0 Release
Updates
YOSEMITE Public Key / Private Key / Signature Support #62
- YOSEMITE blockchain supports secp256k1 elliptic curve cryptography as default. (same as Bitcoin and EOS)
- Public/Private keys generated from the EOS blockchain software are supported on YOSEMITE chain.
- YOSEMITE blockchain supports R1 elliptic curve (secp256r1) cryptography also. secp256r1 is widely used in popular devices such as iPhone
YOSEMITE Key example
Private key (secp256k1) : YPV_5Jx4aC6fGkv5eaoYfKobibRGruV8xpgWWNXpojSNghJDehwrkhJ
Public key (secp256k1) : YOS7Te8Jd4fF6HbTJH2BUYADBucb2yYYSRh3mVv4hgjkAJL15rzjF
Signature (secp256k1) : YSG_K1_KA3Sm2qDg1TueY8ojymc...Jaang8GVtVS98EpZmpMJBbqpy
YOSEMITE mongodb-based blockchain log store for YOSEMITE blockchain explorer #82
- yosemite mongo db scheme / log processing for yosemite blockchain explorer
- replacing eosio 'history' plugin (history_plugin will be deprecated)
- trace and log "transaction-vote"(Proof-of-Transaction) in mongo db log store #74
YOSEMITE Block Explorer Support #67
- YOSEMITE Blockchain Explorer API Server Backend connected to a mongodb blockchain log store managed by mongo_db_plugin of YOSEMITE blockchain node.
- Play-Scala and ReactiveMongo (http://reactivemongo.org/)
- Github : https://github.com/YosemiteLabs/yosemite-explorer-backend
- YOSEMITE Testnet Explorer API Server : http://testnet-explorer-api.yosemitelabs.org
- YOSEMITE Testnet Explorer API Test and Documentation (Swagger) : http://testnet-explorer-api.yosemitelabs.org
- YOSEMITE Blockchain Explorer Web Frontend
- Angular based SPA client connecting to YOSEMITE node and YOSEMITE Explorer API backend
- Github : https://github.com/YosemiteLabs/yosemite-explorer-web
- YOSEMITE Testnet Explorer Web : http://testnet-explorer.yosemitelabs.org/
Changes for system account names and exceutable names
- YOSEMITE Chain System Account : eosio => yosemite, eosio.msig => yx.msig, eosio.prods => yx.prods
- binary executable names : yosemite (blockchain node), clyos (chain client command line interface), keyos (key daemon)
Native Token Tool Support
- /v1/chain/get_native_token_balance and get_native_token_stats #66
- [clyos] native token transfer support #65
- [clyos] get_info supports native token #61
Enhanced http plugin
- Idle HTTP connection timeout for keep-alive feature #57
- configuration error of http_plugin must be thrown #59
- Add max_connections option to http_plugin #72
System Contracts Updated
- [yx.system] update PoT transaction votes management for block producers #88
- [yx.dcontract] checking account type or/and account KYC of signers #77
- [yx.identity] restrict id-auth to use only the defined account type codes, kyc flags, account state flags #81
Event Notification Plugin (websocket-based)
- deprecated on chain node and will be reimplemented by other option(YOSEMITE explorer backend, EOSIO demux))
YOSEMITE Public Blockchain 0.3.0 Release
First working version of YOSEMITE Transaction-as-a-Vote(TaaV) / Proof-of-Transaction(PoT)
Updates
[ChainCore] YOSEMITE Transaction-as-a-Vote(TaaV) Proof-of-Transaction(PoT) API #40
- cast_transaction_vote API - Contribute transaction voting from an action in current transaction context. The vote amount is accumulated to the vote-candidate account specified in the current transaction context. Transaction votes from all the actions in a transaction are cast to one vote-candidate account. Only system contracts on privileged account can call transaction vote API
- read_head_block_trx_votes_data API - Get transaction votes sum data for each vote-candidate account, accumulated from the transactions in the previous block right before current pending block
[YOSEMITE System Contract] transaction vote collection, PoT-based block producer election #43
- Transaction votes are accumulated for each registered block producer
- Block Producers are elected among the authorized(permissioned) BPs, sorted by the accumulated transaction votes (PoT)
- Transaction votes are weighted for the recent transaction vote, 1 year old transaction vote has 50% voting power of recent transaction vote.
[ChainClient][cleos] transaction vote option for TaaV / PoT #42
$YOSEMITE_CLEOS push action --help
Push a transaction with a single action
Usage: cleos push action [OPTIONS] account action data
Options:
...
-v,--trx-vote TEXT transaction vote target account, Transaction-as-a-Vote(TaaV) for YOSEMITE Proof-of-Transaction(PoT)
...
$YOSEMITE_CLEOS push action yx.ntoken transfer '[ "useraccount3", "useraccount2", "10000.0000 DKRW", "memo" ]' -p useraccount3 -v producer.f
[TestNet] Automated Testnet bootstrap script #30
[yx.token] User Token Contract update
- token freeze feature #21
[yx.dcontract] DContract update
- interface update
- added more check logics
Documentation update
- yx.ntoken, yx.token, yx.dcontract, bios)
YOSEMITE Public Blockchain 0.2.0 Release Notes
Updates
Identity Authority (new trusted entity type separate from System Depository)
Identity Authorities have the right for managing user info and KYC info on blockchain.
The active block producers can authorize the self-registered Identity Authroities to be promoted to manage the blockchain account's identity information on blockchain.
For each blockchain account, Identity Authority can manage below information
- account type (e.g. normal, system, ...)
- KYC info. (e.g. email, phone, real name, bank account, ...)
- account state (e.g. blacklisted account, ...)
- Identity-Authority specific data (arbitrary string data)
Once an Identity Authority sets identity info for an account, only the Identity Authority account can modify the identity info for the account.
YOSEMITE System Contract manages the registration of Identity Authroities, the authorized Identity Authorities have the right for managing user info and KYC info on blockchain.
Integrated Transaction Fee Management (yx.txfee)
- yx.txfee system contract manages the transaction fee amount setup for each charged system transaction
- Transaction fee amounts should be agreed by the active block producers by signing txfee_contract::settxfee transaction
- This contract is deployed on the system transaction fee account (YOSEMITE_TX_FEE_ACCOUNT) on which transaction fees generated on the blockchain will be saved, block producers can claim their own block rewards from this system account (yx.txfee)
Refined Native Token / User Token Contract (yx.ntoken, yx.token)
- inline action based, refined action logs and action notification
- configurable KYC checking, storage optimization
- separation of actions for payer-specified transfer and self-payer transfer
Blockchain-based Digital Document Signing System Contract (colaborating with Korean law-firm D'Light)
- creating contract document / digital signing / KYC support
"yosemitelib" module
newaccount bug fix
- only system account can create accounts having less than 12 characters
Detailed Documentations
YOSEMITE Blockchain (Permissioned version) BIOS setup for Testnet v0.2.0 [Bezalel]
YOSEMITE System Contract
YOSEMITE Identity Contract
YOSEMITE Transaction Fee Contract
YOSEMITE Native Token Contract
YOSEMITE Token Contract
YOSEMITE DContract Contract (digital document signing)
YOSEMITE Public Blockchain 0.1.0 Release Notes
First working version of YOSEMITE Blockchain [Permissioned]
- Deployed first testnet node
(http://testnet.yosemitelabs.org:8888/v1/chain/get_info) - For initial test node, there is 5 permissioned block producers (producer.a~e) producing blocks in one node setup (AWS r4.large)
- implemented initial version of Permissioned Chain BIOS, System Contract, Native Token, User Token, KYC
- Service / Depository server can be integraged to the blockchain network through this test node
- Testnet Public Access Node URL
http://testnet.yosemitelabs.org:8888 - Contract interface and functionalities will be updated with on-going code-refactoring and bug fix