klaytn scope에 트랜잭션 내역을 보면 Tx Type중 Legacy Transaction 이랑 Smart Contract Execution 두개가 궁금증이 있어서 문의드립니다. 제가 찾아본 결과 Legacy Transaction 같은 경우는 일반 트랜잭션으로 klay를 송금할때 발생하는 트랜잭션으로 알고있고 Smart Contract Execution 같은 경우는 스마트 컨트랙트 실행하는 트랜잭션으로 알고있습니다.
결과적으로 Smart Contract Execution 으로 트랜잭션을 발생시키는 경우는 Smart Contract 주소로 보내는 거고 Legacy Transaction 으로 트랜잭션을 발생시키는 경우는 일반 주소지로 알고있습니다.
근데 klaytn scope를 보는 도중에 스마트 컨트랙트 주소로 송금을 하는데 Legacy Transaction 으로 트랜잭션이 생성되는것은 어떤경우인가요?
스마트 컨트랙트 주소지로 보내는데 Legacy Transaction 을 사용하는 이유는 무엇인지 궁금합니다. 그리고 스마트 컨트랙트 주소지로 보낼때 Legacy Transaction 을 사용하는 방법도 알고싶습니다.
이사진은 스마트 컨트랙트 주소지로 보낼때 Tx Type가 Smart Contract Execution 으로 나오고,
이 사진은 스마트 컨트랙트 주소지로 보낼때 Tx Type가 Legacy Transaction으로 나옵니다.
안녕하세요.
우선 Klaytn은 Ethereum의 포크로부터 출발했지만, 이더리움과는 다르게 독자적인 기능들을 많이 개발하였습니다.
트랜잭션 또한 이더리움과는 다르게 다양한 타입으로 지원이 되고 있습니다. 링크에 걸려 있는 문서를 먼저 확인해주시기 바랍니다.
Legacy Transaction 은 설명에 나와있듯 이더리움에서의 사용성을 지원해주기 위해 Klaytn에 남겨둔 트랜잭션 타입입니다.
(이더리움에서는 별도의 타입 구분 없이, To에 기재된 주소가 컨트랙트 주소라면 컨트랙트 실행, EoA 라면 Ether 전송으로 내부적으로 처리가 되고 있습니다.)
이 트랜잭션 타입을 사용하는 케이스는 대부분 기존의 이더리움에서 사용하던 사용법으로 사용하고 싶어하는 Dapp들에서 많이 발생하는 것으로 파악됩니다.
또한 LegacyTransaction을 사용해서는 Klaytn만이 갖고 있는 다양한 특장점들(MultiSig, 수수료 대납)을 활용하실 수 없습니다.
Klaytn에 좀 더 최적화된 사용법으로 사용을 한다면, 용도별로 구분해서 사용하시는 게 맞습니다. Smart Contract 실행 관련된 Transaction 이라면, SmartContractExecution을 사용해주시는 게 좋습니다.
내부적으로도 이 타입에 따라 동작이 달라지는 부분이 있으니 자세한 내용은 첨부드린 문서들을 참고부탁드립니다.
감사합니다.
빠르고 정확한 답변 정말감사합니다!!! 링크걸어주신거 자세히읽어보겟습니다!
1개의 좋아요