안녕하세요, EOS Block Producer EOSeoul입니다.
오늘 CODEOS에서 다룰 내용은 새롭게 배포된 EOSIO V.1.5.0에 대한 소개입니다. 많은 개발자분들께서 각각의 업데이트가 갖는 의미에 대해 문의해주셔서 대표적으로 개선된 7가지 사항에 대하여 설명해드리려 합니다.
1)Whitelist 및 Blacklist 기능 적용 #6318
이번 버전업데이트를 통해 인라인 액션과 지연된 액션에 Whitelist, Blacklist가 적용되었습니다. 이 기능을 통해 BP들이 블랙리스트 계정을 수정하지 않고도 중재기능을 실행할 수 있습니다. (via eosio.wrap).
2) table 조회 기능 개선 #6264 #6285
테이블을 역방향으로 조회할 수 있게 되었고, RAM payer(누가 RAM 비용을 지불했는지)를 보여주고 있어서 누구의 RAM을 사용하고 있는지를 확인할 수 있습니다. upper_bound를 사용하고 계신 분들은 #6285와 더불어 get_table_rows와 get_table_by_scope를 자세히 참조해주시길 바랍니다.
3) 트랜잭션/블록 키 복원에 대한 멀티스레드 적용 #6149 #6167
여기서 키 복원의 의미는 유저의 키를 복원할 수 있다는 의미가 아니라, private key로 서명된 블록과 트랜잭션에서 public key를 추출해내는 작업 을 뜻합니다. 이 부분에 멀티스레드를 적용하였습니다. 블록을 검사하는 시간이 크게 개선되었지만, 블록을 생성하는 비용이나 중단된 트랜잭션에 대한 비용에는 영향을 미치지 않습니다.
4) cleos에 eosio.code와 관련된 helper command 추가 #6116
eosio.code는 앞선 CODEOS 포스팅에서 설명했듯이, inline 액션을 호출하기 위해 필요한 meta permission입니다. 이번 릴리즈를 통해 eosio.code를 permission에 쉽게 넣고 뺄 수 있도록 cleos에 helper 커맨드가 추가되었습니다.
변경 전
cleos set account permission eosio active '{"threshold": 1,"keys": [{"key": "EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV","weight": 1}], "accounts": [{"permission":{"actor":"eosio","permission":"eosio.code"},"weight":1}]}'
변경 후
5)cleos에 Multisig 서브커맨드에 대한 기능 개선 #6356
이로인해 Multisig에 대한 트랜잭션에 대한 처리가 쉬워졌습니다.
6)리플레이 시 ctrl-c로 종료하는 기능 지원 #6237
기존에는 블록 리플레이 중 ctrl-c로 인해 state DB 손상이 발생했었는데, 이번 업데이트로 데이터 유실 없이 안전하게 종료할 수 있는 'Graceful Shutdown'이 가능해졌습니다. 따라서 리플레이 중 잠시 중단하였다가 다시 실행하여도 데이터 유실을 걱정하지 않아도 됩니다.
7) state_history_plugin 추가(알파버젼) #5970
history plugin을 대체할 수 있는 state_history_plugin기능이 알파버젼으로 추가되었습니다. 이 기능을 통해 실시간 스트리밍과 테이블 값 및 델타 값(변경 정보)에 접근이 가능해졌습니다.
자세한 업데이트 사항은 각각의 링크를 통해 확인해주세요.
감사합니다.
이오서울 팀 드림.
EOSeoul Contact
Telegram
Facebook
Youtube
Medium
Steemit
Github
Twitter
Bihu
👍