Ремикс (надежность браузера) не будет развертывать мой контракт (через метамаску)

Я пытаюсь развернуть новый контракт для тестирования в сети ropsten. Я использую ремикс и метамаску, но по какой-то причине я не могу выбрать внедренный Web3 (то, что раньше было стандартной настройкой), и поэтому его нельзя развернуть.

Любой, кто может помочь?

Код:

прочность прагмы ^0,4,11;

контракт ZorgPolisBasic {

address public patient;
address public huisarts;
address public specialist;
address public verzekeraar;
bool public verzekeraaraanvullenbasis;
bool public verzekeraaraanvullenspecialist;
bool public huisartsuitgevoerd;
bool public specialistuitgevoerd;
bool public doorverwijzen;
uint256 public huisartsentarief = 1 ether;
uint256 public specialistentarief = 2 ether;
string public akkoordgeven;
string public fraude;
string public artsendecla;

//alle parameters op 0
function ZorgPolisBasic(){
patient = msg.sender;
huisarts = 0x33E225e01bba3AA05ADDCD8F38142a8d47F9dC37;
specialist = 0xAB7fAE73effD38B5EdaD696E1fb062b0F6863459;
verzekeraar = 0xa8323F5fBcf1980B2093a633cF03020900B81d53;
verzekeraaraanvullenbasis = true;
fraude = "none";
}

//hier claimt de huisarts zijn consult
function huisartsclaim(){
huisartsuitgevoerd = true;
doorverwijzen = false;
akkoordgeven = "bevestig behandeling huisarts";
}

//hier verwijst huisarts door en claimt tegelijk zijn consult   
function huisartsdoorverwijzing(){
huisartsuitgevoerd = true;
doorverwijzen = true;
verzekeraaraanvullenspecialist = true;
akkoordgeven = "bevestig behandeling huisarts";
}

//deze twee bevestigen danwel ontkennen de behandeling huisarts
function patientbevestigdHA (){
if (huisartsuitgevoerd==true){
    huisarts.transfer(huisartsentarief);
    verzekeraaraanvullenbasis = true;
    huisartsuitgevoerd = false;
    akkoordgeven = "";
    artsendecla = "";
}else{
artsendecla = "Huisarts heeft nog niet geclaimd";   
}
}

function patientontkentHA (){
if (huisartsuitgevoerd==true){
fraude = "patient ontkent behandeling huisarts";
huisartsuitgevoerd = false;
doorverwijzen = false;
akkoordgeven = "";
}else{
}
}

//hier claimt de specialist
function specialistclaim(){
if (doorverwijzen==false){
    fraude = "specialist claimt zonder doorverwijzing";
        }else{
    specialistuitgevoerd = true;
    akkoordgeven = "bevestig behandeling specialist";
}
}

//deze twee bevestigen danwel ontkennen de behandeling specialist
function patientbevestigdS (){
if (specialistuitgevoerd==true){
    specialist.transfer(specialistentarief);
    specialistuitgevoerd = false;
    akkoordgeven = "";
    artsendecla = "";
}else{
artsendecla = "Specialist heeft nog niet geclaimd";
}
}

function patientontkentS() {
if (specialistuitgevoerd==true){
fraude = "patient ontkent behandeling specialist";
specialistuitgevoerd = false;
akkoordgeven = "";
}else{

}
}

function aanvullenverzekeraar () payable{
verzekeraaraanvullenbasis = false;
verzekeraaraanvullenspecialist = false;
}

function clearstatussen (){
verzekeraaraanvullenbasis = false;
verzekeraaraanvullenspecialist = false;
huisartsuitgevoerd = false;
specialistuitgevoerd = false;
doorverwijzen = false;
akkoordgeven = "";
fraude = "none";
artsendecla = "";
}

}

Когда я нажимаю создать, я получаю сообщение об ошибке: обратный вызов не содержит результата. Ошибка: SyntaxError: Неожиданный токен < в JSON в позиции 0. У меня нет ошибок при компиляции, и он всегда работал нормально (имею метамаску 3.6.5)
Взаимодействие с существующими смарт-контрактами с метамаской проходит нормально. Это действительно развертывание/создание смарт-контрактов через ремикс.
пожалуйста, добавьте исходный код или суть вашего контракта здесь - иначе трудно помочь. Вы пробовали сначала тестировать в JavascriptVM? Аргументы конструктора требуются и правильно отформатированы? Кроме того: вы подключаетесь к частной сети через geth или какой-либо другой узел или напрямую через настройки метамаски по умолчанию к тестовой сети или основной цепочке?
Подключение напрямую через настройки метамаски по умолчанию к Ropsten
Я не получаю ошибок компиляции (контракт составляет чуть более 100 строк, но это не должно быть проблемой).
у меня такая же проблема как и у вас, я пробовал много трюков безрезультатно

Ответы (1)

Как я сказал, когда вы спрашивали в Slack-канале MetaMask, эта ошибка синтаксического анализа возникает, когда поставщик RPC возвращает неверный результат. MetaMask должен исправить это сообщение об ошибке, я открою вопрос по этому поводу.

Чтобы диагностировать, что не так с провайдером, вам нужно открыть фоновую консоль и проверить плохой сетевой ответ: https://github.com/#background-logs-chrome .

Я открыл проблему для этого запутанного сообщения об ошибке здесь: github.com/MetaMask/metamask-plugin/issues/1477 .