sgx 开发
当前项目依赖:
incubator-teaclave-sgx-sdk 1.0.9(原baidu rust sgx sdk)
Rust nightly-2019-08-01
https://github.com/enigmampc/enigma-core 的一些crate(后续开发剔除)
适用于rust sgx的crate:
https://github.com/dingelish/sgx-world
项目开发遇到的问题
evm读写集的记录:
在sputnikvm的返回结果上添加读写集。可对比 https://github.com/60ke/sputnikvm 与 https://github.com/enigmampc/sputnikvm/tree/enigma-next 的区别
ocall:
传入address和storage的key来获取storage的value的edl部分的代码:
|
|
enclave与外界的数据类型交互:
由edl生成c函数,通过指针的方法进行进行交互
solidity测试合约
regchain wiki中的合约:
|
|
需要操作storage的合约:
|
|
利用vscode和sgx-gdb进行调试
教程:
Setup gdb 7.11 on Ubuntu 18.04 for VSCode sgx gdb remote debugging
对应代码实例:
intel远程证实
英特尔官方远程证实
注册英特尔开发者账号获取spid和key:
https://software.intel.com/registration/?lang=zh-cn
intel官方实例:https://software.intel.com/zh-cn/articles/code-sample-intel-software-guard-extensions-remote-attestation-end-to-end-example
Rust sgx相关代码实例:
第三方远程证实(dcap)