좀 더 세밀한 조작을 가능하게 한다.
가스 비용을 줄일 수 있다.
솔리디티에서는 할 수 없는 일을 하기 위해 smart contract에 assembly를 사용한다. 예를 들어 특정 메모리 슬롯의 값을 가르키는 일이라든지!
특히 솔리디티 라이브러리를 작성할 때 assembly
를 많이 사용한다.
string utils에 assembly 코드가 사용이 된다.
두 가지 종류로 쓰인다.
inline assembly : 솔리디티 안에 쓰인다.
Standalone Assembly : 솔리디티 없이도 쓸 수 있다.
assembly{
//code
}
이렇게 쓰인다.
그러나 assembly{...}
와 assembly{...}
, 즉 assembly 블록들은 서로 소통할 수 없다.
또한 여기서는
assembly{
let p;
}
이런 식으로 해놓으면 기본 값으로 0이 설정이 된다.
...
나머지는 나중에 번역 허락 받으면 해야것다^^....
https://jeancvllr.medium.com/solidity-tutorial-all-about-assembly-5acdfefde05c
위의 사이트가 참고 사이트인데 너무 좋다!
꼭 보기를 바란다!