`TransferFrom ()`기능없이 ETH 전송을 안전하게 관리하는 방법을 알아 내고 기본 토큰 처리에 대한 에스크로 계약을 구현하십시오. ---이 비디오는 https://stackoverflow.com/q/70964042/ 사용자가 'kuly14'(https://stackoverflow.com/u/15067763/)에 의해 질문을 기반으로하고 https://stackoverflow.com/a/70964210/가 사용자 'Petr Hejda'(Petr Hejda) '(Petr Hejda)'( '스택 오버플로'웹 사이트에서 https://stackoverflow.com/u/1693192/). 이 훌륭한 사용자와 StackexChange 커뮤니티 덕분에 공헌에 감사드립니다. 원본 콘텐츠 및 대체 솔루션, 주제, 주석, 개정 내역 등의 최신 업데이트/개발과 같은 더 자세한 내용은이 링크를 방문하십시오. 예를 들어, 질문의 원래 제목은 다음과 같습니다. 또한 CC BY-SA https://meta.stackexchange.com/help/licensing에 따라 라이센스가 부여 된 콘텐츠 (음악 제외) 원래 질문 게시물은 'CC Bysa 4.0'(https://creativecommons.org/licenses/by-sa/4.0/) 라이센스에 따라 라이센스가 부여되며, 원본 답변은 'CC Bee-sa 4.0'(CC Bee-sa 4.0)에 라이센스가 부여됩니다. https://creativecommons.org/licenses/by-sa/4.0/) 라이센스. 당신에게 어떤 것이 보이면, vlogize [at] gmail [dot] com에서 저를 보내 주시기 바랍니다. --- Ethereum 및 Smart 계약과 함께 일할 때 ETH에 대한 전송 프롬 ()의 한계를 이해하면 개발자는 종종 다양한 토큰과 관련된 거래를 처리 해야하는 상황에 처해 있습니다. ERC20 토큰의 경우 이전에 조치를 승인 한 경우 TransferFrom () 함수는 사용자를 대신하여 토큰을 전송하는 데 일반적으로 사용되는 방법입니다. 그러나 이것은 중요한 질문을 제기합니다. Ethereum의 원주민 토큰 역할을하는 ETH에 대해 유사한 기능을 구현할 수 있습니까? 이 게시물에서는 TransferFrom () 함수가 ETH에서 작동하지 않는 이유와 특히 에스크로 계약을 사용하여 사용자 정의 접근 방식으로 전송을 효과적으로 처리 할 수있는 방법을 살펴 봅니다. ERC20 토큰과 달리 ETH의 TransferFrom ()의 도전은 토큰 승인 및 잔액이 토큰 계약 내에 포함되어 있으며 ETH는 다르게 운영됩니다. ETH : ETH : 승인 메커니즘의 부재 : ERC20 토큰 계약에서 승인 메커니즘을 사용하면 위임 된 계정으로 전송을 할당 할 수있는 주된 이유는 다음과 같습니다. ETH의 경우, 이러한 추적 메커니즘은 이더 리움 층에 존재하지 않습니다. 기본 ETH 사용에 대한 승인을 저장하는 데이터베이스는 없습니다. 중앙 집중식 균형 제어 : ETH 잔액은 각 주소와 관련된 지갑에서 직접 유지되므로 프로토콜 수준에서의 사용에 대한 권한을 부여하거나 취소 할 수있는 유연성이 없습니다. 기본적으로 ETH 전송을 승인 할 수있는 방법이 없으면 개발자에게는 응용 프로그램 내에서 ETH 사용 방법을 관리하기위한 제한된 옵션이 남아 있습니다. 원시 ETH의 에스크로 기능 구현 ETH에 전송 프롬 ()를 사용할 수는 없지만 대체 솔루션이 있습니다 : 에스크로 계약. 이 계약을 통해 사용자는 ETH를 안전하게 입금하고 철회 할 수있는 조건을 지정할 수 있습니다. 아래는 에스크로 계약을 견고한 방법으로 구현할 수있는 간단한 예입니다. 예 : 에스크로 계약 여기서 기본 에스크로 메커니즘을 보여주는 견고성 계약은 다음과 같습니다. [[이 텍스트 또는 코드 스 니펫을 공개하려면 비디오 참조] 코드 계약 초기화 설명 : 에스크로 계약은 지정된 보유자 및 관리 계정과 초기화됩니다. 보유자는 ETH를 입금하는 사용자 일 수 있으며 관리자는 거래 관리를 감독하는 사례 관리자이거나 현명한 계약 일 수 있습니다. 수신 기능 : 수신 () 함수를 사용하면 계약이 들어오는 ETH 거래를 수락 할 수 있습니다. 이를 통해 사용자는 ETH를 에스크로 계약에 입금 할 수 있습니다. 철수 기능 : 퇴행 () 기능을 통해 홀더 또는 관리자는 에스크로에서 자금을 인출 할 수 있습니다. 요구 사항은 승인 된 사용자만이 작업을 수행하여 추가 보안 계층을 추가 할 수 있도록합니다. Escrow Contracts 보안의 이점 : 예금 된 자금은 계약 내에서 안전하게 보유되어 승인되지 않은 당사자의 직접적인 접근 위험을 최소화합니다. 통제 된 철수 : 누가 자금을 인출 할 수 있는지 규제함으로써 에스크로 계약은 서로를 완전히 신뢰할 필요없이 당사자 간의 복잡한 거래 및 계약을 촉진 할 수 있습니다. 확장 성 : 제공된 예제는 단일 사용자에게 적용되지만 개별 예금 및 권한을 추적하여 여러 사용자를 처리하도록 논리를 조정할 수 있습니다. 결론 결론적으로, Ethereum Network에서 운영되는 방식으로 인해 ETHFROM () 함수는 ETCROW 계약을 활용하여 ETH 전송 관리를위한 실용적인 대안을 제공합니다. 자금의 예금 및 인출에 적용되는 맞춤형 계약을 구현함으로써 개발자는 기본 ETH를 안전하고 효과적으로 처리 할 수 있습니다. 이더 리움이 계속 발전함에 따라 이러한 메커니즘을 이해하는 것은 디자이너와 D에게 중요합니다.