¿Cómo codificar un Raw Txn usando web3js?

Tengo este código que da error JSON en web3. Probé las conexiones y leí el contrato y todo funciona. Hay algo mal con la clave de "datos" en el JSON. De alguna manera no se entiende la función addBonus. Esa es una función de actualización.

addBonus es el nombre correcto de la siguiente manera:

function addBonus( string bonusType, uint bonusTarget,  uint bonusEndYear,
    uint bonusEndMonth, uint bonusEndDay, 
    string bonusToken, uint bonusAmount, string bonusName, uint ineq ) public { ...

¿Alguien tiene un ejemplo de cómo escribir un txn sin procesar para actualizar un contrato usando web3js y nodejs?

código de llamada -

    var rawTransaction = {"from":myAddress,
    "gasPrice":web3js.toHex(20* 1e9),
    "gasLimit":web3js.toHex(210000),
    "to":contractAddress,
    "value":"0x0",
   "data":contract.addBonus(bonusType, target, year, month, day, token, bonus, bonusName, ineq),
    "nonce":nounce}

El error -

node_modules/web3/lib/web3/httpprovider.js:92 arroja errores.InvalidResponse(request.responseText); ^

Error: respuesta JSON RPC no válida: ""

Respuestas (1)

Esto funciona:

 "data":contract.addBonus.getData(bonusType, target, year, month, day, token, bonus, bonusName, ineq),