www.twitter.com/stalim1717

Arbitrary Token Bridging
TL; DR오늘 우리는 Optimistic Ethereum에 대한 임의의 토큰 입금 및 인출을 가능하게 하는 새로운 게이트웨이 인터페이스를 출시하게 되어 매우 기쁩니다! 게이트웨이의 이전 주요 릴리스에서는 Optimism 토큰 목록 에 나열된 토큰을 L2로(및 그 반대로) 전송하도록 허용했습니다. 이 새로운 릴리스를 통해 우리는 혁신의 문을 열고 모든 ERC20 토큰이 계층 간의 경계를 전환할 수 있도록 하고자 합니다.작동 원리L2 체인을 개발할 때 토큰 브리징을 처리하는 방법을 알아내는 것은 복잡하고 균형이 풍부한 환경을 만듭니다. 우리의 브리지 구현은 다음과 같은 사실 간의 균형을 제공하고자 합니다.ERC20은 인터페이스일 뿐입니다 . L1에는 수백 가지의 다양한 토큰 구현이 있습니다. 이들 중 일부는 즉시 사용 가능한 OpenZeppelin 토큰과 크게 다릅니다. 따라서 모든 잠재적 유형의 예금 자금을 포괄하는 단일 "브리지 ERC20" 구현을 안치하는 것은 불가능합니다....
The Highly Optimistic Dev Blog #01: The Mystery of the Missing Message[KOR]
편집팀의 메모: 옵티미스틱 이더리움 의 우주에는 흥미로운 작업이 너무 많아서 우리가 무엇을 했는지 세상에 알리기 위해 잠시 시간을 내는 것을 종종 잊습니다. 낙관적 이더리움의 내부 작동 방식과 이를 실현하는 데 도움을 주는 사람들에 대해 더 자세히 알고 싶다는 많은 분들의 의견을 들었습니다. 그 결과 우리는 낙관적 이더리움에서 일하는 사람들이 매일 그들이 다루는 아이디어와 도전에 대해 글을 쓰는 데브 블로그를 시작합니다 . 우리는 이러한 블로그 게시물에 특정 스타일이나 구조를 적용하지 않습니다. 우리 각자가 Optimism에서 우리의 작업에 대해 생각하는 방식을 그대로 볼 수 있습니다. 우리는 이것이 낙관적 경험을 들여다보는 작은 창처럼 작용하기를 바랍니다. Highly Optimistic Dev Blog의 첫 번째 버전에 오신 것을 환영합니다! ☺️ 저자: 켈빈 피처요약 및 배경이것은 2021년 6월 초 며칠 동안 Optimistic Ethereum 테스트넷 배포가 새로운 L...
![Cover image for OVM Deep Dive [KOR]](https://img.paragraph.com/cdn-cgi/image/format=auto,width=3840,quality=85/https://storage.googleapis.com/papyrus_images/7bed0c28a7451bc3ac2d6c15ff32525701f35fb9e1f206452879effbef6ace46.png)
OVM Deep Dive [KOR]
핵심요약 – Layer 2 시스템용으로 설계된 모든 기능을 갖춘 EVM 호환 실행 환경인 OVM을 구축했습니다. 이 게시물은 OVM이 이더리움 메인 체인과 동일한 롤업을 가능하게 하는 방법을 설명합니다. OVM을 구축하는 이유는 무엇입니까? 우리 팀의 많은 사람들은 이전에 계약을 지원하는 최초의 일반화된 플라즈마 구성인 plapps를 설계하기 위해 일했습니다 ! 그러나 plapps에는 제한된 "단어" 계약과 관련된 완전히 새로운 개발자 도구가 필요했습니다. 이더리움 L2는 단순히 이더리움을 사용하여 확장하는 것을 의미하는 것이 아니라 이더리움 자체를 확장하는 것을 의미합니다 . 이것은 결국 이더리움 스마트 계약의 전체 기능 세트를 확장성 환경으로 가져오겠다고 약속한 최초의 L2 구성인 Optimistic Rollup을 개발하게 했습니다 . Unipig.exchange는 처음으로 이 전례 없는 기능을 시연했습니다. 처음으로 Uniswap은 L2에 있었습니다. 그러나 Unipig는...

Arbitrary Token Bridging
TL; DR오늘 우리는 Optimistic Ethereum에 대한 임의의 토큰 입금 및 인출을 가능하게 하는 새로운 게이트웨이 인터페이스를 출시하게 되어 매우 기쁩니다! 게이트웨이의 이전 주요 릴리스에서는 Optimism 토큰 목록 에 나열된 토큰을 L2로(및 그 반대로) 전송하도록 허용했습니다. 이 새로운 릴리스를 통해 우리는 혁신의 문을 열고 모든 ERC20 토큰이 계층 간의 경계를 전환할 수 있도록 하고자 합니다.작동 원리L2 체인을 개발할 때 토큰 브리징을 처리하는 방법을 알아내는 것은 복잡하고 균형이 풍부한 환경을 만듭니다. 우리의 브리지 구현은 다음과 같은 사실 간의 균형을 제공하고자 합니다.ERC20은 인터페이스일 뿐입니다 . L1에는 수백 가지의 다양한 토큰 구현이 있습니다. 이들 중 일부는 즉시 사용 가능한 OpenZeppelin 토큰과 크게 다릅니다. 따라서 모든 잠재적 유형의 예금 자금을 포괄하는 단일 "브리지 ERC20" 구현을 안치하는 것은 불가능합니다....
The Highly Optimistic Dev Blog #01: The Mystery of the Missing Message[KOR]
편집팀의 메모: 옵티미스틱 이더리움 의 우주에는 흥미로운 작업이 너무 많아서 우리가 무엇을 했는지 세상에 알리기 위해 잠시 시간을 내는 것을 종종 잊습니다. 낙관적 이더리움의 내부 작동 방식과 이를 실현하는 데 도움을 주는 사람들에 대해 더 자세히 알고 싶다는 많은 분들의 의견을 들었습니다. 그 결과 우리는 낙관적 이더리움에서 일하는 사람들이 매일 그들이 다루는 아이디어와 도전에 대해 글을 쓰는 데브 블로그를 시작합니다 . 우리는 이러한 블로그 게시물에 특정 스타일이나 구조를 적용하지 않습니다. 우리 각자가 Optimism에서 우리의 작업에 대해 생각하는 방식을 그대로 볼 수 있습니다. 우리는 이것이 낙관적 경험을 들여다보는 작은 창처럼 작용하기를 바랍니다. Highly Optimistic Dev Blog의 첫 번째 버전에 오신 것을 환영합니다! ☺️ 저자: 켈빈 피처요약 및 배경이것은 2021년 6월 초 며칠 동안 Optimistic Ethereum 테스트넷 배포가 새로운 L...
![Cover image for OVM Deep Dive [KOR]](https://img.paragraph.com/cdn-cgi/image/format=auto,width=3840,quality=85/https://storage.googleapis.com/papyrus_images/7bed0c28a7451bc3ac2d6c15ff32525701f35fb9e1f206452879effbef6ace46.png)
OVM Deep Dive [KOR]
핵심요약 – Layer 2 시스템용으로 설계된 모든 기능을 갖춘 EVM 호환 실행 환경인 OVM을 구축했습니다. 이 게시물은 OVM이 이더리움 메인 체인과 동일한 롤업을 가능하게 하는 방법을 설명합니다. OVM을 구축하는 이유는 무엇입니까? 우리 팀의 많은 사람들은 이전에 계약을 지원하는 최초의 일반화된 플라즈마 구성인 plapps를 설계하기 위해 일했습니다 ! 그러나 plapps에는 제한된 "단어" 계약과 관련된 완전히 새로운 개발자 도구가 필요했습니다. 이더리움 L2는 단순히 이더리움을 사용하여 확장하는 것을 의미하는 것이 아니라 이더리움 자체를 확장하는 것을 의미합니다 . 이것은 결국 이더리움 스마트 계약의 전체 기능 세트를 확장성 환경으로 가져오겠다고 약속한 최초의 L2 구성인 Optimistic Rollup을 개발하게 했습니다 . Unipig.exchange는 처음으로 이 전례 없는 기능을 시연했습니다. 처음으로 Uniswap은 L2에 있었습니다. 그러나 Unipig는...
www.twitter.com/stalim1717

Subscribe to stalim17

Subscribe to stalim17
<100 subscribers
<100 subscribers
저자: 켈빈 피처

Solidity 개발자: Smock v2를 만나보세요 . Solidity 모킹 라이브러리 . _ Optimism 과 DeFi Wonderland 의 환상적인 팀 간의 협력 .
스마트 계약 테스트는 역사적으로… 어려웠습니까? 어렵지 않다면 혼란스러울 뿐입니다. Solidity 초기에 계약을 테스트하는 가장 좋은 방법은 모든 테스트를 수행할 책임이 있는 다른 계약을 작성하는 것이 었습니다. 이것은 약 20가지의 다른 이유로 끔찍한 생각이었습니다. 가장 중요한 몇 가지를 언급하겠습니다.
Solidity에서 테스트 코드를 작성해야 했습니다.
테스트를 변경하기 위해 테스트 계약을 다시 컴파일해야 했습니다.
테스트 계약과 대상 계약은 동일한 체인 상태를 공유했습니다.
관련된 모든 사람들에게 엄청난 시간 낭비였습니다. 그 당시에는 스마트 계약이 비교적 단순했기 때문에 대부분 괜찮 았습니다 . 그러나 물론 이러한 테스트 인프라 부족은 계약이 매우 복잡할 수 없음을 의미했습니다.
시간이 좀 걸렸지만 마침내 Truffle과 같은 JavaScript 테스트 프레임워크를 사용하여 테스트 환경을 크게 개선했습니다. 우리는 chai 및 mocha와 같은 도구의 멋진 기능 중 일부를 물려받았습니다. 우리의 테스트는 적어도 어느 정도는 읽을 수 있게 되었습니다. 실제로 합리적인 양의 복잡성으로 계약 시스템을 구축할 수 있습니다.
Hardhat은 결국 Truffle이 먼저 수행한 많은 작업을 개선했습니다. 그러나 Hardhat의 주요 발전은 플러그인 시스템이었습니다. 이제 개발자는 Truffle로는 불가능했던 테스트 환경을 쉽게 조작할 수 있게 되었습니다.
그러나이 모든 개선 과정에서 Solidity 개발자는 여전히 매우 구체적인 기능을 단위 테스트 할 수 있도록 Solidity로 작성된 모의 계약 이라는 절대적으로 끔찍한 패턴을 처리해야했습니다 . 내 말은, 정말??? 이것이 그렇게 나쁜 몇 가지 이유는 다음과 같습니다.
Solidity에서 테스트 코드를 작성해야 합니다.
테스트를 변경하려면 테스트 계약을 다시 컴파일해야 합니다.
테스트 계약과 대상 계약은 동일한 체인 상태를 공유합니다.
???
응. 그래도. 우리는 그것을 고쳤습니다.
소개: 작업복 v2. JavaScript에서 조롱하는 계약. 당신이 상상할 수 있는 것보다 더 강력합니다. 다시는 Solidity에서 모의 계약을 작성하지 마십시오.
const myFake = await smock.fake('MyContract'); const myOtherFake = await smock.fake(myContractFactory); const myOtherOtherFake = await smock.fake(myContractABI); const myOtherOtherOtherFake = await smock.fake(myContractInstance);
myFake.myFunction.returns(1234); myFake.myOtherFunction.returns({ myStructField: 1234 }); myFake.myOtherOtherFunction.returns((fnArg) => { return fnArg * 10 }); myFake.myOtherOtherOtherFunction.reverts(); // womp womp!
expect(myFake.myFunction).to.have.been.calledOnce; expect(myFake.myFunction).to.have.been.calledWith(1234); expect(myFake.myFunction).to.have.been.calledBefore(myFake.myOtherFunction);
const myMockFactory = await smock.mock('MyContract');
const myMock = await myMockFactory.deploy();// Does everything a fake can do!
myMock.myFunction.returns(5678);
await myMock.setVariable('myVariable', 1234); await myMock.setVariable('myOtherVariable', { myStructValue: 1234 });
Do I really need to say anything else? Go try it out. It’ll change your life. Seriously.
저자: 켈빈 피처

Solidity 개발자: Smock v2를 만나보세요 . Solidity 모킹 라이브러리 . _ Optimism 과 DeFi Wonderland 의 환상적인 팀 간의 협력 .
스마트 계약 테스트는 역사적으로… 어려웠습니까? 어렵지 않다면 혼란스러울 뿐입니다. Solidity 초기에 계약을 테스트하는 가장 좋은 방법은 모든 테스트를 수행할 책임이 있는 다른 계약을 작성하는 것이 었습니다. 이것은 약 20가지의 다른 이유로 끔찍한 생각이었습니다. 가장 중요한 몇 가지를 언급하겠습니다.
Solidity에서 테스트 코드를 작성해야 했습니다.
테스트를 변경하기 위해 테스트 계약을 다시 컴파일해야 했습니다.
테스트 계약과 대상 계약은 동일한 체인 상태를 공유했습니다.
관련된 모든 사람들에게 엄청난 시간 낭비였습니다. 그 당시에는 스마트 계약이 비교적 단순했기 때문에 대부분 괜찮 았습니다 . 그러나 물론 이러한 테스트 인프라 부족은 계약이 매우 복잡할 수 없음을 의미했습니다.
시간이 좀 걸렸지만 마침내 Truffle과 같은 JavaScript 테스트 프레임워크를 사용하여 테스트 환경을 크게 개선했습니다. 우리는 chai 및 mocha와 같은 도구의 멋진 기능 중 일부를 물려받았습니다. 우리의 테스트는 적어도 어느 정도는 읽을 수 있게 되었습니다. 실제로 합리적인 양의 복잡성으로 계약 시스템을 구축할 수 있습니다.
Hardhat은 결국 Truffle이 먼저 수행한 많은 작업을 개선했습니다. 그러나 Hardhat의 주요 발전은 플러그인 시스템이었습니다. 이제 개발자는 Truffle로는 불가능했던 테스트 환경을 쉽게 조작할 수 있게 되었습니다.
그러나이 모든 개선 과정에서 Solidity 개발자는 여전히 매우 구체적인 기능을 단위 테스트 할 수 있도록 Solidity로 작성된 모의 계약 이라는 절대적으로 끔찍한 패턴을 처리해야했습니다 . 내 말은, 정말??? 이것이 그렇게 나쁜 몇 가지 이유는 다음과 같습니다.
Solidity에서 테스트 코드를 작성해야 합니다.
테스트를 변경하려면 테스트 계약을 다시 컴파일해야 합니다.
테스트 계약과 대상 계약은 동일한 체인 상태를 공유합니다.
???
응. 그래도. 우리는 그것을 고쳤습니다.
소개: 작업복 v2. JavaScript에서 조롱하는 계약. 당신이 상상할 수 있는 것보다 더 강력합니다. 다시는 Solidity에서 모의 계약을 작성하지 마십시오.
const myFake = await smock.fake('MyContract'); const myOtherFake = await smock.fake(myContractFactory); const myOtherOtherFake = await smock.fake(myContractABI); const myOtherOtherOtherFake = await smock.fake(myContractInstance);
myFake.myFunction.returns(1234); myFake.myOtherFunction.returns({ myStructField: 1234 }); myFake.myOtherOtherFunction.returns((fnArg) => { return fnArg * 10 }); myFake.myOtherOtherOtherFunction.reverts(); // womp womp!
expect(myFake.myFunction).to.have.been.calledOnce; expect(myFake.myFunction).to.have.been.calledWith(1234); expect(myFake.myFunction).to.have.been.calledBefore(myFake.myOtherFunction);
const myMockFactory = await smock.mock('MyContract');
const myMock = await myMockFactory.deploy();// Does everything a fake can do!
myMock.myFunction.returns(5678);
await myMock.setVariable('myVariable', 1234); await myMock.setVariable('myOtherVariable', { myStructValue: 1234 });
Do I really need to say anything else? Go try it out. It’ll change your life. Seriously.
Share Dialog
Share Dialog
No activity yet