오늘 우리는 공유 할 흥미로운 소식을 가지고 있습니다 : AppBase가 준비되었습니다. 우리는 모든 사람들이 테스트를 돕길 원합니다. 타사 개발자는 새 플랫폼에 맞게 약간의 변경을해야 할 수 있습니다.
AppBase 릴리스 후보가 이제 준비되었습니다.
8 월에 우리 는 Steem blockchain 에 대한 흥미로운 업데이트 소식을 알려주었습니다. 이러한 업데이트 중 하나는 AppBase로 Steem의 확장 능력을 획기적으로 향상시키는 별개의 "모듈"을 생성합니다.
AppBase는 다중 체인 FABRIC을 만드는 첫 번째 단계입니다. AppBase는 전용 플러그인으로 비 합의 블록 체인을 추가함으로써 Steem 블록 체인의 많은 구성 요소가 모듈화 될 수 있도록합니다. 이러한 플러그인은 전체 블록 체인을 재생할 필요가 없기 때문에 훨씬 빠르게 업데이트 할 수 있습니다.
우리는 마침내 AppBase를 대규모로 테스트 할 준비가되었습니다!
Steamit.com 사용자가 일반 사용자 인 경우에도 도움이 될 수 있습니다. steemitstage.com 으로 가서 정상적으로하는 것처럼 사이트를 사용하십시오.
스테이징 환경에는 steemit.com과 동일한 보안 조치가 포함되어 있으며 사전 제작으로 간주됩니다. steemit.com을 만들기 전에 새로운 코드를 완전히 확인하기 위해 가능한 '실제'steemit.com에 가깝도록 설계되었습니다. 키 사용에 대해 여전히 걱정이된다면 게시 키를 사용해도됩니다. 전혀 로그인하지 않더라도 사이트를 탐색하고 Google에 피드백을 제공하는 것만으로도 유용합니다.
개발자 용
Steem 서비스를 운영하거나 유지 관리하는 경우 서비스가 예상대로 계속 작동하도록하기 위해 취해야 할 몇 가지 단계가 있습니다. 자세한 내용은 아래 섹션을 참조하십시오.
steemd 노드 변경
steemd 노드를 실행하면 v0.19.4rc1GitHub 또는 Docker Hub에서 태그 를 체크 아웃 할 수 있습니다 .
API 변경
API를 재구성하여 향후 업그레이드 및 유지 관리를위한 유연성을 높였습니다. 이제 API는 단일 객체를 인수로 사용하여 단일 객체를 반환 유형으로 반환합니다. 모든 기존 API가이 표준과 일치하도록 업데이트되었습니다.
더 이상 C ++ 스타일 매개 변수 의미론을 고수 할 필요가 없으므로 가변 매개 변수뿐만 아니라보다 다양한 기본 인수 유형을 사용할 수 있습니다. 또한 반환 된 객체를 확장하여 기존 앱에 영향을 미치지 않고 호출 기능을 확장 할 수 있습니다.
the database_apisteemd가 이미 사용하는 모든 순서로 모든 합의 개체를 질의 할 수 있도록 상당한 변화가있었습니다. 이렇게하면 서비스가 필요한 객체를보다 융통성있게 찾을 수 있습니다.
새로운 condenser_api
이 전환을 돕기 위해 우리 condenser_api는 현재 존재하는 모든 API 메소드를 포함하고 기존 인수 형식을 사용하여 생성했습니다. 앱을 Appbase로 작업하게하는 가장 쉬운 방법은 API를로 변경하는 것 condenser_api입니다.
API는 이름으로 호출해야합니다.
API id를 사용하여 API를 호출하는 데 익숙하다면 해당 호출 메소드는 더 이상 지원되지 않습니다. 이제 모든 API를 이름순으로 호출해야합니다.
제거됨 login_api
는 login_api숫자 식별자로 API 이름을 맵핑하는 방법으로 설계되었습니다. API는 더 이상 id를 통해 호출되지 않으므로, 이제는 API가 필요하지 않으므로 login_api제거되었습니다.
API 메소드 목록
전화를 걸면 jsonrpc.get_methods사용 가능한 모든 API 메소드 목록이 반환됩니다.
인수 및 프로토 타입 반환
당신이 호출 할 경우 jsonrpc.get_signatureAPI를 메소드 이름을 전달, 그것은 인수를 반환하고 객체의 프로토 타입을 반환합니다.
예를 들어,
{"jsonrpc":"2.0", "method":"jsonrpc.get_signature", "params":{"method":"database_api.get_active_witnessess"}, "id":1}
보고
{"jsonrpc":"2.0","result":{"args":{},"ret":{"witnesses":[]}},"id":1}
{}void 형의 인수이며, witnesses필드에 리스트를 돌려줍니다 .
사용 condenser_api
배열 인수 전달이 불투명하고 API 호출 자체에서 구현 condenser_api되므로 모든 호출 []은 인수로 반환 됩니다. 그들은 현재 인수 형식을 따른다. 기존 앱은 Appbase를 사용하는 데 필요한 다른 변경 사항없이 모든 login_api통화를 사용 하고 건너 condenser_api뛰면됩니다.
예를 들어, 전화 get_dynamic_global_properties와 condenser_api대 database_api:
{"jsonrpc":"2.0", "method":"condenser_api.get_dynamic_global_properties", "params":[], "id":1}
{"jsonrpc":"2.0", "method":"database_api.get_dynamic_global_properties", "id":1}
메서드에 인수가 없으므로 params사용하지 않을 때는 필드를 생략 할 수 있습니다 condenser_api. 그러나 선택적으로 void 유형으로 포함될 수 "params":{}있지만 필수는 아닙니다.
간소화 된 구문
앞의 예제가 다른 형식을 사용하여 API를 호출 한 것을 알 수 있습니다. 이전에는 다음과 같이 오래된 호출 구문이있었습니다.
{"jsonrpc":"2.0", "id":0, "method":"call", "params":["api","function",[ARGS]]}.
그러나 이제는보다 간소화 된 호출 구문을 지원합니다.
{"jsonrpc":"2.0", "id":0, "method":"api.function", "params":[ARGS]}
두 형식 모두 작동하지만 가독성을 위해 새로운 형식이 선호됩니다.
향상된 JSON-RPC 준수
steemd가 널리 사용되는 JSON-RPC 사양을보다 잘 준수하도록 일부 변경되었습니다. 이것은 여전히 새로운 것입니다. json-rpc 구현을 테스트하여 사양을 준수하는지 확인하십시오.
하위 호환성
우리의 리버스 프록시 서비스 jussi는 메소드 번역을 처리합니다. 즉, 프로덕션 환경에 Appbase를 배포 한 후에도 이전 API 호출이 여전히 작동해야합니다.
향후 업데이트 필요
이 릴리스에서 소개 된 새로운 API는 여전히 진행중인 작업입니다. 아직 일련 번호가 변경되어 여러 가지 상태가 유지되고 있습니다. 우리는 가까운 장래에 이러한 변화의 본질을 다시 한번 게시 할 것입니다. 이러한 API로 자유롭게 놀아도되지만 변경 될 수 있습니다. 일단 이러한 API를 완성 condenser_api하면 새로운 API에 대한 사용을 중단 하고 새로운 API로 마이그레이션을 시작합니다.
구성 파일 변경
로깅 설정은 항상 사용 가능한 옵션 수가 많아서 설정 파일에 아프다. 그것은 너무 복잡하여 다른 파서가 필요했습니다. 우리는 하나의 파서 만 사용할 수있는 json 형식을 사용하도록 변경했습니다. 기본 로깅 구성은 다음과 같습니다.
Console appender definition json: {"appender", "stream"}
log-console-appender = {"appender":"stderr","stream":"std_error"}
File appender definition json: {"appender", "file"}
log-file-appender = {"appender":"p2p","file":"logs/p2p/p2p.log"}
Logger definition json: {"name", "level", "appender"}
log-logger = {"name":"default","level":"debug","appender":"stderr"}
log-logger = {"name":"p2p","level":"debug","appender":"p2p"}
플러그인
이 plugin옵션을 통해 플러그인을 사용할 수 있습니다. 더 이상 public-api옵션 이 없으며 모든 API가 이제 사용할 수 plugin있습니다.
대부분의 설정 옵션은 현재 속한 플러그인에 의해 이름 공간으로 지정됩니다. 이름 공간이 아닌 구성 옵션은 계속 지원되지만 사용하면 더 이상 사용되지 않는 경고가 기록됩니다. contrib/config-for-docker.ini및 contrib/fullnode.config.ini도커 이미지에 사용되는 예시적인 CONFIGS이다. 이것을 예제 설정 파일로 사용할 수 있습니다. 평소처럼 Docker 이미지를 사용하여 노드를 배포하는 것이 좋습니다.
결론
이러한 변화는 수개월 동안 진행되어 왔으며 Steem을 향한 큰 진보를 나타냅니다. AppBase는 미래의 확장 요구 사항을 모두 충족 할 수있는 견고한 토대를 제공하며, 동시에 타사 응용 프로그램 개발자, 증인 및 교환에 필요한 리소스 요구 사항을 관리하면서 플랫폼을 확장 할 수 있습니다.
Hey @vanessa2015, We have met 17 times already!
I'm a guide dog from KR community. As you have been continuously ignored my guideline for using KR tags, your case is escalated, and the KR community guardians have decided to start making a serious action.
Stop using KR tag:
Unfortunately, Google Translate is terrible at translating English into Korean. You may think you wrote in perfect Korean, but what KR Steemians read is gibberish. Sorry, even Koreans can't understand your post written in Google-Translated Korean.
Otherwise, your post will highly likely get downvoted from this point.
@krguidedog
포스팅 잘봤습니다. 비 합의 블록체인으로 구성요소를 모듈화 한다... 저한텐 다소 어려운 내용이네요. 팔로우하고가요
영어로 블록 체인으로 알려진 블록 1 체인 또는 연결 체인은 2 3 4 5 6은 데이터가 게시 된 후에 수정을 피하도록 설계된 블록 체인으로 구성된 분산 데이터베이스입니다. 신뢰할 수있는 타임 스탬프를 사용하고 이전 블록에 연결 block chain
kr-guide!