계정
EOS 계정은 EOS 토큰, 리소스, 권한 등을 보관하기 위한 디지털 컨테이너입니다.
스마트 계약은 계정 상단에도 배포되며, 그렇지 않으면 계정 소유자가 스마트 계약을 제어할 수 있습니다. 통제가 포기되었습니다.
계정 이름
EOS 계정에는 사람이 읽을 수 있는 이름이 있습니다.
그러나 블록체인에서 계정 이름을 효율적으로 유지하기 위해 몇 가지 제한 사항이 적용됩니다.
- 모든 문자는 소문자여야 합니다.
- 모든 이름은 12자 (또는 접미사/프리미엄 이름 포함) 이어야 합니다.
- 글자만
a-z
, 숫자1-5
, 및 기간 (.
) 는 지원되는 문자입니다. - 이름은 숫자나 마침표로 시작할 수 없습니다.
- 이름은 마침표로 끝날 수 없습니다.
기간은 EOS 계정에서 특별한 의미를 갖습니다.계정에프리미엄 이름이라고도 하는 접미사 (.com과 같은 최상위 도메인과 유사) 가 있다고 명시합니다.접미사가 있는 계정은 접미사 소유자만 생성할 수 있습니다.
예를 들어, 누군가가 접미사를 소유하고 있는 경우 .bar
그러면 그 사람만 만들 수 있습니다. foo.bar
.
정규식 검증
다음 정규식을 사용하여 EOS 계정 이름을 확인할 수 있습니다.
(^[a-z1-5.]{1,11}[a-z1-5]$)|(^[a-z1-5.]{12}[a-j1-5]$)
공개/비공개 키
모든 EOS 계정은 궁극적으로 키 쌍 (공개 키와 해당 개인 키) 에 의해 제어됩니다. 공개 키는 블록체인에서 계정을 식별하는 데 사용되며 공개적으로 알려질 수 있지만, 사용되는 개인 키는 각 거래에 서명하려면 항상 비밀로 유지되어야 합니다.
개인 키를 분실하면 계정과 모든 자산, 스마트 계약 및 기타 모든 항목에 대한 액세스 권한을 잃게 됩니다. 그것과 관련된 데이터.
프라이빗 키와 퍼블릭 키의 예:
유형 | 키 |
---|---|
프라이빗 키 | 5KSdyAiFzYQAtBKDBKCCF28KMMhZ4EmXUxSg8B3nSkHKutT15rY |
공개 키 | PUB_K1_5d7eRKgCCiEdsbBdxxnZdFWnGYS64uWZPZgTcTU1xnB2aESxqR |
레거시 퍼블릭 키 | EOS5d7eRKgCCiEdsbBdxxnZdFWnGYS64uWZPZgTcTU1xnB2cq4JMD |
권한 시스템
EOS는 우리가 '권한 시스템'이라고 부르는 것을 사용하여 기본적으로 계정에 대한 추가 보안 메커니즘을 제공합니다.
각 계정에는 해당 계정이 수행할 수 있는 작업을 제어하는 일련의 계층적 권한이 있으며 기본적으로 두 가지 기본 권한이 제공됩니다.이 두 권한은 계정이 제대로 작동하는 데 필요하므로 제거할 수 없습니다.
필수 권한은 다음과 같습니다. owner
과 active
.
권한은 권한을 제어하는 항목 (키 또는 계정) 또는 하위 권한을 제어하는 항목만 변경할 수 있습니다.부모를 통제하는 것은 절대 바꿀 수 없습니다.
권한을 제어하는 것은 공개 키 또는 다른계정입니다. 이를 통해 여러 당사자가 단일 계정을 제어할 수 있는 복잡한 계정 제어 구조를 만들 수 있습니다. 자신의 계정 보안에 대한 완전한 자율성을 유지하면서 말이죠.
다음 다이어그램을 예로 들어 보겠습니다. 여기서 계정은 alice
둘 다에 의해 제어됩니다 bob
과 charlie
,
동안 charlie
에 의해 또한 제어됩니다. tom
.
하지만 모든 계정은 결국 키로 제어된다는 점을 기억하세요.
아래에 사용자 지정 권한을 추가할 수 있습니다. active
해당 권한의 액세스를 제한할 수 있는 권한
특정 계약의 작업 (호출 가능 함수) 만 해당됩니다.그러면 해당 권한은 해당 권한과만 상호 작용할 수 있습니다.
귀하가 지정한 계약 조치
즉, 계정 간에 세분화된 액세스 권한을 생성하고 계층적 소유권을 가질 수 있으며 그것들의 사용법.
가장 중요한 것은 권한 시스템에 다중 서명 트랜잭션 (필요한 트랜잭션) 에 대한 지원이 내장되어 있다는 것입니다. 여러 당사자가 서명해야 함).권한과 관련된 모든 연결 계정 또는 키에는가중치가 할당됩니다. 권한 자체에는임계값이 있습니다.
아래 예에서 볼 수 있듯이 bob
단독으로는 서명할 수 있는 충분한 권한이 없습니다. active
허가.
그는 둘 중 하나가 필요합니다 charlie
또는 jenny
다음과 같은 모든 거래에 대해 그와 공동 서명해야 합니다. alice@active
만든다.다른 한편으로는
손, charlie
과 jenny
혼자서는 거래에 서명할 수 없습니다. bob
.
스마트 컨트랙트
스마트 계약을 사용하면 계정에 기능을 추가할 수 있습니다.무엇이든 될 수 있습니다. Todo 애플리케이션과 같은 단순한 것부터 완전히 블록체인에서 실행되는 본격적인 RPG 게임까지.
모든 계정에는 단일 스마트 계약을 배포할 수 있지만, 이러한 스마트 계약은 마음대로 업데이트되고 교체됩니다.
계정을 생성하면 EOS가 발생합니다.
RAM은 제한된 리소스이므로 계정을 만들려면 EOS를 사용하여 저장하는 데 필요한 RAM을 구입해야 합니다. 계정 데이터.즉, 이미 계정을 가지고 있는 다른 사람이 계정을 생성하려면 당신을 위해 만들어 보세요.
대부분의 EOS 지갑에서는 직접 계정을 만들 수 있지만 필요한 RAM에 대한 비용을 지불해야 합니다. 계정을 저장하세요.일부 지갑은 RAM을 대신 지불하지만 나중에 다시 지불해야 합니다.
💰 현재 비용
계좌 개설 비용은 계좌 개설에 필요한 RAM을 기준으로 하며, 이 문서 작성 시점 (2023년 2월 20일) 은
2996 bytes
.
계정 소유권 포기
업그레이드 기능은 스마트 계약 개발에 상당한 이점을 제공하지만 항상 필요한 것은 아닙니다. 어느 시점이 되면 여러분이 구축하려는 커뮤니티에서 스마트 컨트랙트에 대한 통제권을 포기하고 이를 체결하도록 요청할 수 있습니다. 불변이거나 반불변입니다.
이러한 목표를 달성하기 위한 몇 가지 옵션이 있습니다.
💀 코드 권한을 잊지 마세요!
계정 소유권을 양도하는 경우 잊지 말고 계정 소유권을 유지하세요
eosio.code
허가 계정에서active
허가.그렇지 않으면 계정이 블록체인에서 인라인 작업을 실행할 수 없습니다. 이로는당신의 계약을 망가뜨릴 수도 있습니다.
NULL 계정
계약 계정의 소유자 및 활성 권한을 다음과 같이 설정할 수 있습니다. eosio.null@active
.이것은 NULL
이러한 목적으로 특별히 설계된 계정개인 키나 소유자가 없습니다.
이 계정에 대한 통제권을 언제까지 해제하려면** 이 옵션이 좋습니다.
프로듀서 제어
또는 계약 계정을 설정할 수도 있습니다. owner
과 active
세 가지 유형의 프로듀서 제어 (네트워크 합의 제어) 계정에 대한 권한을 부여하므로, 이 계약에 문제가 발생할 경우 프로듀서의 도움을 요청하여 계약을 업그레이드할 수 있습니다.
이는 사용자에게 부정적인 영향을 미칠 수 있는 버그가 있을 수 있는 복잡하고 복잡한 계약을 처리하는 경우 좋은 옵션입니다.
eosio.prods
더 eosio.prods
계정은 네트워크에서 활발히 생산되는 생산자 중 ⅔+1이 관리합니다.즉, 21명의 활성 생산자가 있는 경우 모든 업그레이드를 승인하려면 15명이 필요합니다.
제품 전공
더 prod.major
계정은 ½+1에 의해 관리됩니다. 즉, 30명의 활성 생산자가 있는 경우 모든 업그레이드를 승인하려면 16명이 필요합니다.
제품 마이너
더 prod.minor
계정은 ⅓+1에 의해 관리됩니다. 즉, 30명의 활성 프로듀서가 있는 경우 모든 업그레이드를 승인하려면 그 중 11명이 필요합니다.