EVM에서 assembly를 쓰는 이유

YU YU·2022년 7월 6일
1

Solidity

목록 보기
3/3
post-custom-banner

1. assembly를 쓰는 이유

좀 더 세밀한 조작을 가능하게 한다.
가스 비용을 줄일 수 있다.

1-1. 세밀한 조작을 위해 사용

솔리디티에서는 할 수 없는 일을 하기 위해 smart contract에 assembly를 사용한다. 예를 들어 특정 메모리 슬롯의 값을 가르키는 일이라든지!

특히 솔리디티 라이브러리를 작성할 때 assembly 를 많이 사용한다.

1-2. 가스 비용을 줄이기 위해

string utils에 assembly 코드가 사용이 된다.

2. assembly 종류

두 가지 종류로 쓰인다.
inline assembly : 솔리디티 안에 쓰인다.
Standalone Assembly : 솔리디티 없이도 쓸 수 있다.

2-1. inline assembly

assembly{
//code 
}

이렇게 쓰인다.
그러나 assembly{...}assembly{...} , 즉 assembly 블록들은 서로 소통할 수 없다.
또한 여기서는

assembly{
	let p;
    }

이런 식으로 해놓으면 기본 값으로 0이 설정이 된다.

...
나머지는 나중에 번역 허락 받으면 해야것다^^....

https://jeancvllr.medium.com/solidity-tutorial-all-about-assembly-5acdfefde05c
위의 사이트가 참고 사이트인데 너무 좋다!
꼭 보기를 바란다!

https://ethereum.stackexchange.com/questions/3157/what-are-some-examples-of-how-inline-assembly-benefits-smart-contract-development

profile
코딩 재밌어요!
post-custom-banner

0개의 댓글