Smart contract storage
Storage data
μ€λ§νΈ 컨νΈλνΈλ₯Ό μμ±νλ©΄, storage, memoryλ±μ λ°μ΄ν°λ₯Ό λ€λ£¨κ² λλ€.
storageκ°μ κ²½μ°μλ λΈλ‘μ²΄μΈ μμ μꡬμ μΌλ‘ μ μ₯μ΄ λλλ°, μ ννκ² μ΄λμ μ΄λ»κ² μ μ₯μ΄ λλ κ²μΌκΉ?
λ€μκ³Ό κ°μ 컨νΈλνΈλ₯Ό μμλ‘ λ€μ΄λ³΄μ.
contract StorageContract {
struct Data {
address user;
uint256 amount;
}
mapping (uint256=>Data) mapper;
}mapperμ μλ dataλ€μ μ΄λμ μ μ₯λ κΉ?
λΉμ°ν λΈλ‘μ μ μ₯λλ€. λΈλ‘체μΈμ κ° λΈλ‘μλ νΈλμμ λͺ©λ‘μ΄ ν¬ν¨λμ΄ μλ€.
νΈλμμ μλ μνΈνν μ μ‘μ΄ ν¬ν¨λ μ μμ§λ§ μ€λ§νΈ 컨νΈλνΈμμ μνΈ μμ©λ ν¬ν¨λ μ μλ€.
νΈλμμ μ΄ μ€λ§νΈ 컨νΈλνΈμ μνΈ μμ©ν λ 컨νΈλνΈμ ν¨μλ₯Ό μ€ννκ³ ν΄λΉ μ€ν λ¦¬μ§ λ°μ΄ν°λ₯Ό μμ ν μ μλ€.
μ΄ λ μ€λ§νΈ 컨νΈλνΈμ μλ‘μ΄ μνλ λΈλ‘체μΈμ μ μ₯λλ€.
κ·Έλ°λ° μ¬κΈ°μ ν κ°μ§ μλ¬Έμ΄ λ μκΈ΄λ€.
μ€λ§νΈ 컨νΈλνΈμ μ½λλ λ°μ΄νΈ μ½λλ‘ μ»΄νμΌ λλλ°, λ΄κ° μ€ν λ¦¬μ§ λ°μ΄ν°λ₯Ό λ°κΎΈλ©΄ κ·Έκ²μ μ΄λ€ μμΌλ‘ λ°μμ΄ λ κΉ?
μ€λ§νΈ 컨νΈλνΈμ μνΈ μμ©ν λ μ€μ λ‘ μννλ μμ μ λ°μ΄ν°μ νΉμ νμ΄λ‘λκ° ν¬ν¨λ νΈλμμ μ μμ±νλ κ²μ΄λ€.
μ΄ νμ΄λ‘λλ μΌλ°μ μΌλ‘ μ€λ§νΈ 컨νΈλνΈμ μνν μμ μ μλ €μ£Όλ λ§€κ° λ³μλ₯Ό ν¬ν¨ν ν¨μ νΈμΆμ΄λ€.
νΈλμμ μ΄ λΈλ‘μ ν¬ν¨λκ³ λΈλ‘μ΄ μ±κ΅΄λλ©΄ λ€νΈμν¬μ λͺ¨λ λ Έλλ νΈλμμ μμ ν¨μ νΈμΆμ μ€ννλ€.
μ¬κΈ°μλ μ 곡λ λ§€κ°λ³μλ‘ μ»¨νΈλνΈμ λ°μ΄νΈμ½λλ₯Ό μ€ννλ κ²μ΄ ν¬ν¨λλ€.
μ 곡λ νμ΄λ‘λλ₯Ό μ΄μ©ν΄μ, λ°μ΄νΈμ½λλ₯Ό μ€ννλ€.
ν¨μκ° μ»¨νΈλνΈμ μνλ₯Ό μμ νλ©΄(μ¦, 컨νΈλνΈμ μ μ₯λ λ°μ΄ν°κ° λ³κ²½λ¨) μ μνκ° λΈλ‘체μΈμ μ μ₯λλ€.
μμμ μ€λͺ ν κ²κ³Ό λμΌ
μ΄λ 컨νΈλνΈ μ체μ λ°μ΄νΈ μ½λκ° λ³κ²½λλ€λ μλ―Έλ μλλ€.
λ°μ΄νΈμ½λλ κ³μ½ μμ€ μ½λμ μ»΄νμΌλ λ²μ μ΄λ©° κ³μ½μ΄ λ°°ν¬λ νμλ λ³κ²½λμ§ μλλ€.
λμ λ³κ²½λλ κ²μ 컨νΈλνΈμ μ°κ²°λ μν(status)μ΄λ€.
컨νΈλνΈμ λ°μ΄νΈ μ½λλ₯Ό νλ‘κ·Έλ¨μΌλ‘, 컨νΈλνΈμ μνλ₯Ό νλ‘κ·Έλ¨μ΄ μ¬μ©νλ λ³μλ‘ μκ°ν μ μλ€.
컨νΈλνΈμ μνΈ μμ©ν λ νλ‘κ·Έλ¨ μ체(λ°μ΄νΈ μ½λ)λ₯Ό λ³κ²½νλ κ²μ΄ μλλ€.
λμ νΉμ μ λ ₯μΌλ‘ νλ‘κ·Έλ¨μ μ€ννκ³ μ΄λ‘ μΈν΄ λ³μ(μν)κ° λ³κ²½λ μ μλ€.
컨νΈλνΈμ μνμλ ꡬ쑰체 λ° λ§€νκ³Ό κ°μ 볡μ‘ν λ°μ΄ν° μ νμ ν¬ν¨νμ¬ ν¨μ λ³Έλ¬Έ μΈλΆμμ μ μΈλ λͺ¨λ λ³μκ° ν¬ν¨λλ€.
κ° μ»¨νΈλνΈμ μνλ Key-value pairμ ꡬ쑰λ₯Ό κ°μ§λ λΈλ‘μ²΄μΈ μν νΈλ¦¬(λ¨Έν΄ νΈλ¦¬)μ νΉμ μμΉμ μ μ₯λλ€.
컨νΈλνΈμ μνΈ μμ©ν λ λ³κ²½λλ κ²μ λ°μ΄νΈ μ½λκ° μλλΌ μν νΈλ¦¬μ κ°μ΄λ€.
μ΄λ리μ λΈλ‘체μΈμ κ° λΈλ‘μλ Merkle Treeμ λ£¨νΈ ν΄μκ° λΈλ‘ ν€λμ μΌλΆλ‘ ν¬ν¨λλ€.
λ°λΌμ μν νΈλ¦¬ μ체λ λΈλ‘μ²΄μΈ λ΄μ μ§μ μ μ₯λμ§ μλλ€.
μ€νλ € μ΄λ리μ λ€νΈμν¬μ μ°Έμ¬νλ κ° λ Έλμ μν΄ λ³λλ‘ μ μ§ κ΄λ¦¬λλ€.
Last updated