Я использую запрос вычисления oraclize для вызова файла dockerfile, который запускает nodejs и запускает скрипт, который вызывает API.Я пытаюсь передать заголовок как строковую переменную в файле dockerfile, а затем форматирую эту переменную в js, используя JSON.parse ().Проблема в том, что, насколько я тестировал, каждая среда по-разному использует строковые переменные.JSON.parse () нужен хорошо отформатированный json с внутренними двойными кавычками, но dockerfile нужны двойные кавычки для запуска строковой переменной.Когда я тестировал жесткое кодирование переменных, если я форматирую json в dockerfile, как показано ниже
CMD node index.js "{\"key\":value}"
Кажется, все работает нормально.Но если я попытаюсь использовать это в remix или vue, вычислительный запрос вернет ошибку.(Remix даже не позволяет использовать форматированную строковую переменную, как показано выше)
Так что теперь я полностью застрял и не знаю, как разобрать json через все среды в index.jsфайл.
Метод солидности:
function request(string _method,string _url,string _header,string _params) payable {
oraclize_query("computation",[IPFSline,_method,_url,_header,_params]);
}
Файл Docker:
WORKDIR /app
COPY package.json /app
RUN npm install
COPY . /app
CMD node index.js $ARG0 $ARG1 $ARG2 $ARG3 && exit 0
И файл node.js:
const header = process.argv[4];
var options = {
uri: '',
method: '',
time: true
};
options.headers=JSON.parse(header);
Thisмой первый вопрос здесь, надеюсь, я правильно его написал.