主内
ー。。ー。

계정

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는 우리가 '권한 시스템'이라고 부르는 것을 사용하여 기본적으로 계정에 대한 추가 보안 메커니즘을 제공합니다.

각 계정에는 해당 계정이 수행할 수 있는 작업을 제어하는 일련의 계층적 권한이 있으며 기본적으로 두 가지 기본 권한이 제공됩니다.이 두 권한은 계정이 제대로 작동하는 데 필요하므로 제거할 수 없습니다.

필수 권한은 다음과 같습니다. owneractive.

권한은 권한을 제어하는 항목 (키 또는 계정) 또는 하위 권한을 제어하는 항목만 변경할 수 있습니다.부모를 통제하는 것은 절대 바꿀 수 없습니다.

Who can change permissions?

권한을 제어하는 것은 공개 키 또는 다른계정입니다. 이를 통해 여러 당사자가 단일 계정을 제어할 수 있는 복잡한 계정 제어 구조를 만들 수 있습니다. 자신의 계정 보안에 대한 완전한 자율성을 유지하면서 말이죠.

다음 다이어그램을 예로 들어 보겠습니다. 여기서 계정은 alice 둘 다에 의해 제어됩니다 bobcharlie, 동안 charlie 에 의해 또한 제어됩니다. tom.

하지만 모든 계정은 결국 키로 제어된다는 점을 기억하세요.

Delegated account ownership

아래에 사용자 지정 권한을 추가할 수 있습니다. active 해당 권한의 액세스를 제한할 수 있는 권한 특정 계약의 작업 (호출 가능 함수) 만 해당됩니다.그러면 해당 권한은 해당 권한과만 상호 작용할 수 있습니다. 귀하가 지정한 계약 조치

즉, 계정 간에 세분화된 액세스 권한을 생성하고 계층적 소유권을 가질 수 있으며 그것들의 사용법.

Custom permissions

가장 중요한 것은 권한 시스템에 다중 서명 트랜잭션 (필요한 트랜잭션) 에 대한 지원이 내장되어 있다는 것입니다. 여러 당사자가 서명해야 함).권한과 관련된 모든 연결 계정 또는 키에는가중치가 할당됩니다. 권한 자체에는임계값이 있습니다.

아래 예에서 볼 수 있듯이 bob 단독으로는 서명할 수 있는 충분한 권한이 없습니다. active 허가. 그는 둘 중 하나가 필요합니다 charlie 또는 jenny 다음과 같은 모든 거래에 대해 그와 공동 서명해야 합니다. alice@active 만든다.다른 한편으로는 손, charliejenny 혼자서는 거래에 서명할 수 없습니다. bob.

Weights and thresholds

스마트 컨트랙트

스마트 계약을 사용하면 계정에 기능을 추가할 수 있습니다.무엇이든 될 수 있습니다. Todo 애플리케이션과 같은 단순한 것부터 완전히 블록체인에서 실행되는 본격적인 RPG 게임까지.

모든 계정에는 단일 스마트 계약을 배포할 수 있지만, 이러한 스마트 계약은 마음대로 업데이트되고 교체됩니다.

계정을 생성하면 EOS가 발생합니다.

RAM은 제한된 리소스이므로 계정을 만들려면 EOS를 사용하여 저장하는 데 필요한 RAM을 구입해야 합니다. 계정 데이터.즉, 이미 계정을 가지고 있는 다른 사람이 계정을 생성하려면 당신을 위해 만들어 보세요.

대부분의 EOS 지갑에서는 직접 계정을 만들 수 있지만 필요한 RAM에 대한 비용을 지불해야 합니다. 계정을 저장하세요.일부 지갑은 RAM을 대신 지불하지만 나중에 다시 지불해야 합니다.

💰 현재 비용

계좌 개설 비용은 계좌 개설에 필요한 RAM을 기준으로 하며, 이 문서 작성 시점 (2023년 2월 20일) 은 2996 bytes.

계정 소유권 포기

업그레이드 기능은 스마트 계약 개발에 상당한 이점을 제공하지만 항상 필요한 것은 아닙니다. 어느 시점이 되면 여러분이 구축하려는 커뮤니티에서 스마트 컨트랙트에 대한 통제권을 포기하고 이를 체결하도록 요청할 수 있습니다. 불변이거나 반불변입니다.

이러한 목표를 달성하기 위한 몇 가지 옵션이 있습니다.

💀 코드 권한을 잊지 마세요!

계정 소유권을 양도하는 경우 잊지 말고 계정 소유권을 유지하세요 eosio.code 허가 계정에서 active 허가.그렇지 않으면 계정이 블록체인에서 인라인 작업을 실행할 수 없습니다. 이로는당신의 계약을 망가뜨릴 수도 있습니다.

NULL 계정

계약 계정의 소유자 및 활성 권한을 다음과 같이 설정할 수 있습니다. eosio.null@active.이것은 NULL 이러한 목적으로 특별히 설계된 계정개인 키나 소유자가 없습니다.

이 계정에 대한 통제권을 언제까지 해제하려면** 이 옵션이 좋습니다.

프로듀서 제어

또는 계약 계정을 설정할 수도 있습니다. owneractive 세 가지 유형의 프로듀서 제어 (네트워크 합의 제어) 계정에 대한 권한을 부여하므로, 이 계약에 문제가 발생할 경우 프로듀서의 도움을 요청하여 계약을 업그레이드할 수 있습니다.

이는 사용자에게 부정적인 영향을 미칠 수 있는 버그가 있을 수 있는 복잡하고 복잡한 계약을 처리하는 경우 좋은 옵션입니다.

eosio.prods

eosio.prods 계정은 네트워크에서 활발히 생산되는 생산자 중 ⅔+1이 관리합니다.즉, 21명의 활성 생산자가 있는 경우 모든 업그레이드를 승인하려면 15명이 필요합니다.

제품 전공

prod.major 계정은 ½+1에 의해 관리됩니다. 즉, 30명의 활성 생산자가 있는 경우 모든 업그레이드를 승인하려면 16명이 필요합니다.

제품 마이너

prod.minor 계정은 ⅓+1에 의해 관리됩니다. 즉, 30명의 활성 프로듀서가 있는 경우 모든 업그레이드를 승인하려면 그 중 11명이 필요합니다.